Repository: bailicangdu/react-pxq Branch: master Commit: 553e42f41b9e Files: 70 Total size: 603.9 KB Directory structure: gitextract_fgp6y9zy/ ├── .babelrc ├── .gitignore ├── LICENSE ├── README.md ├── bin/ │ └── react-scripts ├── config/ │ ├── env.js │ ├── jest/ │ │ ├── babelTransform.js │ │ ├── cssTransform.js │ │ └── fileTransform.js │ ├── paths.js │ ├── polyfills.js │ ├── webpack.config.dev.js │ ├── webpack.config.prod.js │ └── webpackDevServer.config.js ├── package.json ├── public/ │ ├── index.html │ └── manifest.json ├── pxq/ │ ├── asset-manifest.json │ ├── index.html │ ├── manifest.json │ ├── service-worker.js │ └── static/ │ ├── css/ │ │ └── main.fc2ff5ec.css │ └── js/ │ ├── 0.c353ab85.chunk.js │ ├── 1.af913d75.chunk.js │ ├── 2.a96eb65f.chunk.js │ ├── 3.ff2875c3.chunk.js │ └── main.83dc4a4d.js ├── scripts/ │ ├── build.js │ ├── eject.js │ ├── init.js │ ├── start.js │ ├── test.js │ └── utils/ │ └── createJestConfig.js └── src/ ├── api/ │ ├── api.js │ └── server.js ├── assets/ │ └── iconfonts/ │ └── iconfont.css ├── components/ │ ├── TouchableOpacity/ │ │ ├── TouchableOpacity.jsx │ │ └── TouchableOpacity.less │ ├── alert/ │ │ ├── alert.jsx │ │ └── alert.less │ └── header/ │ ├── header.jsx │ └── header.less ├── envconfig/ │ └── envconfig.js ├── index.js ├── pages/ │ ├── balance/ │ │ ├── balance.jsx │ │ └── balance.less │ ├── helpcenter/ │ │ ├── helpcenter.jsx │ │ └── helpcenter.less │ ├── home/ │ │ ├── home.jsx │ │ └── home.less │ ├── production/ │ │ ├── production.jsx │ │ └── production.less │ └── record/ │ ├── components/ │ │ ├── recordList.jsx │ │ └── recordList.less │ ├── record.jsx │ └── record.less ├── registerServiceWorker.js ├── router/ │ └── index.js ├── store/ │ ├── home/ │ │ ├── action-type.js │ │ ├── action.js │ │ └── reducer.js │ ├── production/ │ │ ├── action-type.js │ │ ├── action.js │ │ └── reducer.js │ └── store.js ├── style/ │ ├── base.css │ └── mixin.less └── utils/ ├── asyncComponent.jsx ├── mixin.js └── setRem.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .babelrc ================================================ { "presets": ["react"], "plugins": ["syntax-dynamic-import"] } ================================================ FILE: .gitignore ================================================ # See https://help.github.com/ignore-files/ for more about ignoring files. # dependencies /node_modules # testing /coverage # production /build # misc .DS_Store .env.local .env.development.local .env.test.local .env.production.local *.idea *.iml npm-debug.log* yarn-debug.log* yarn-error.log* package-lock.json yarn.lock ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2018 cangdu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ ## 技术栈: react + redux + webpack + react-router + ES6/7/8 + immutable ## 运行项目(nodejs 6.0+) ``` git clone https://github.com/bailicangdu/react-pxq.git cd react-pxq npm i 或者运行 yarn(推荐) npm start npm run build (发布) ``` ## 说明 > 本项目主要用于理解 react 和 redux 的编译方式,以及 react + redux 之间的配合方式 > 如果觉得不错的话,您可以点右上角 "Star" 支持一下 谢谢! ^_^ > 或者您可以 "follow" 一下,我会不断开源更多的有趣的项目 > 如有问题请直接在 Issues 中提,或者您发现问题并有非常好的解决方案,欢迎 PR 👍 > 开发环境 macOS 10.13.1 Chrome 63 nodejs 8.9.1 >  推荐一个 vue2 + vuex 构建的 45 个页面的大型开源项目。[地址在这里](https://github.com/bailicangdu/vue2-elm) > 另外一个 vue2 + vuex 的简单项目,非常适合入门练习。[地址在这里](https://github.com/bailicangdu/vue2-happyfri) ## 演示 [查看演示效果](https://cangdu.org/pxq/)(请用chrome的手机模式预览) ### 移动端扫描下方二维码 # 个人感悟 ## 做React需要会什么? react的功能其实很单一,主要负责渲染的功能,现有的框架,比如angular是一个大而全的框架,用了angular几乎就不需要用其他工具辅助配合,但是react不一样,他只负责ui渲染,想要做好一个项目,往往需要其他库和工具的配合,比如用redux来管理数据,react-router管理路由,react已经全面拥抱es6,所以es6也得掌握,webpack就算是不会配置也要会用,要想提高性能,需要按需加载,immutable.js也得用上,还有单元测试。。。。 ## React 是什么 用脚本进行DOM操作的代价很昂贵。有个贴切的比喻,把DOM和JavaScript各自想象为一个岛屿,它们之间用收费桥梁连接,js每次访问DOM,都要途径这座桥,并交纳“过桥费”,访问DOM的次数越多,费用也就越高。 因此,推荐的做法是尽量减少过桥的次数,努力待在ECMAScript岛上。因为这个原因react的虚拟dom就显得难能可贵了,它创造了虚拟dom并且将它们储存起来,每当状态发生变化的时候就会创造新的虚拟节点和以前的进行对比,让变化的部分进行渲染。整个过程没有对dom进行获取和操作,只有一个渲染的过程,所以react说是一个ui框架。 ## React的组件化 react的一个组件很明显的由dom视图和state数据组成,两个部分泾渭分明。state是数据中心,它的状态决定着视图的状态。这时候发现似乎和我们一直推崇的MVC开发模式有点区别,没了Controller控制器,那用户交互怎么处理,数据变化谁来管理?然而这并不是react所要关心的事情,它只负责ui的渲染。与其他框架监听数据动态改变dom不同,react采用setState来控制视图的更新。setState会自动调用render函数,触发视图的重新渲染,如果仅仅只是state数据的变化而没有调用setState,并不会触发更新。 组件就是拥有独立功能的视图模块,许多小的组件组成一个大的组件,整个页面就是由一个个组件组合而成。它的好处是利于重复利用和维护。 ## React的 Diff算法 react的diff算法用在什么地方呢?当组件更新的时候,react会创建一个新的虚拟dom树并且会和之前储存的dom树进行比较,这个比较多过程就用到了diff算法,所以组件初始化的时候是用不到的。react提出了一种假设,相同的节点具有类似的结构,而不同的节点具有不同的结构。在这种假设之上进行逐层的比较,如果发现对应的节点是不同的,那就直接删除旧的节点以及它所包含的所有子节点然后替换成新的节点。如果是相同的节点,则只进行属性的更改。 对于列表的diff算法稍有不同,因为列表通常具有相同的结构,在对列表节点进行删除,插入,排序的时候,单个节点的整体操作远比一个个对比一个个替换要好得多,所以在创建列表的时候需要设置key值,这样react才能分清谁是谁。当然不写key值也可以,但这样通常会报出警告,通知我们加上key值以提高react的性能。 ![](https://github.com/bailicangdu/pxq/blob/master/screenshot/diff.png) ## React组件是怎么来的 组件的创造方法为React.createClass() ——创造一个类,react系统内部设计了一套类系统,利用它来创造react组件。但这并不是必须的,我们还可以用es6的class类来创造组件,这也是Facebook官方推荐的写法。 ![](https://github.com/bailicangdu/pxq/blob/master/screenshot/icon_class.png) 这两种写法实现的功能一样但是原理却是不同,es6的class类可以看作是构造函数的一个语法糖,可以把它当成构造函数来看,extends实现了类之间的继承 —— 定义一个类Main 继承React.Component所有的属性和方法,组件的生命周期函数就是从这来的。constructor是构造器,在实例化对象时调用,super调用了父类的constructor创造了父类的实例对象this,然后用子类的构造函数进行修改。这和es5的原型继承是不同的,原型继承是先创造一个实例化对象this,然后再继承父级的原型方法。了解了这些之后我们在看组件的时候就清楚很多。 当我们使用组件< Main />时,其实是对Main类的实例化——new Main,只不过react对这个过程进行了封装,让它看起来更像是一个标签。 有三点值得注意:1、定义类名字的首字母必须大写 2、因为class变成了关键字,类选择器需要用className来代替。 3、类和模块内部默认使用严格模式,所以不需要用use strict指定运行模式。 ## 组件的生命周期 ![](https://github.com/bailicangdu/pxq/blob/master/screenshot/react-lifecycle.png) **组件在初始化时会触发5个钩子函数:** **1、getDefaultProps()** > 设置默认的props,也可以用dufaultProps设置组件的默认属性。 **2、getInitialState()** > 在使用es6的class语法时是没有这个钩子函数的,可以直接在constructor中定义this.state。此时可以访问this.props。 **3、componentWillMount()** > 组件初始化时只调用,以后组件更新不调用,整个生命周期只调用一次,此时可以修改state。 **4、 render()** > react最重要的步骤,创建虚拟dom,进行diff算法,更新dom树都在此进行。此时就不能更改state了。 **5、componentDidMount()** > 组件渲染之后调用,可以通过this.getDOMNode()获取和操作dom节点,只调用一次。 **在更新时也会触发5个钩子函数:** **6、componentWillReceivePorps(nextProps)** > 组件初始化时不调用,组件接受新的props时调用。 **7、shouldComponentUpdate(nextProps, nextState)** > react性能优化非常重要的一环。组件接受新的state或者props时调用,我们可以设置在此对比前后两个props和state是否相同,如果相同则返回false阻止更新,因为相同的属性状态一定会生成相同的dom树,这样就不需要创造新的dom树和旧的dom树进行diff算法对比,节省大量性能,尤其是在dom结构复杂的时候。不过调用this.forceUpdate会跳过此步骤。 **8、componentWillUpdate(nextProps, nextState)** > 组件初始化时不调用,只有在组件将要更新时才调用,此时可以修改state **9、render()** > 不多说 **10、componentDidUpdate()** > 组件初始化时不调用,组件更新完成后调用,此时可以获取dom节点。 还有一个卸载钩子函数 **11、componentWillUnmount()** > 组件将要卸载时调用,一些事件监听和定时器需要在此时清除。 以上可以看出来react总共有10个周期函数(render重复一次),这个10个函数可以满足我们所有对组件操作的需求,利用的好可以提高开发效率和组件性能。 ## React-Router路由 Router就是React的一个组件,它并不会被渲染,只是一个创建内部路由规则的配置对象,根据匹配的路由地址展现相应的组件。Route则对路由地址和组件进行绑定,Route具有嵌套功能,表示路由地址的包涵关系,这和组件之间的嵌套并没有直接联系。Route可以向绑定的组件传递7个属性:children,history,location,params,route,routeParams,routes,每个属性都包涵路由的相关的信息。比较常用的有children(以路由的包涵关系为区分的组件),location(包括地址,参数,地址切换方式,key值,hash值)。react-router提供Link标签,这只是对a标签的封装,值得注意的是,点击链接进行的跳转并不是默认的方式,react-router阻止了a标签的默认行为并用pushState进行hash值的转变。切换页面的过程是在点击Link标签或者后退前进按钮时,会先发生url地址的转变,Router监听到地址的改变根据Route的path属性匹配到对应的组件,将state值改成对应的组件并调用setState触发render函数重新渲染dom。 当页面比较多时,项目就会变得越来越大,尤其对于单页面应用来说,初次渲染的速度就会很慢,这时候就需要按需加载,只有切换到页面的时候才去加载对应的js文件。react配合webpack进行按需加载的方法很简单,Route的component改为getComponent,组件用require.ensure的方式获取,并在webpack中配置chunkFilename。 ```javascript const chooseProducts = (location, cb) => { require.ensure([], require => { cb(null, require('../Component/chooseProducts').default) },'chooseProducts') } const helpCenter = (location, cb) => { require.ensure([], require => { cb(null, require('../Component/helpCenter').default) },'helpCenter') } const saleRecord = (location, cb) => { require.ensure([], require => { cb(null, require('../Component/saleRecord').default) },'saleRecord') } const RouteConfig = ( //首页 //帮助中心 //销售记录 ); ``` ## 组件之间的通信 react推崇的是单向数据流,自上而下进行数据的传递,但是由下而上或者不在一条数据流上的组件之间的通信就会变的复杂。解决通信问题的方法很多,如果只是父子级关系,父级可以将一个回调函数当作属性传递给子级,子级可以直接调用函数从而和父级通信。 组件层级嵌套到比较深,可以使用上下文getChildContext来传递信息,这样在不需要将函数一层层往下传,任何一层的子级都可以通过this.context直接访问。 兄弟关系的组件之间无法直接通信,它们只能利用同一层的上级作为中转站。而如果兄弟组件都是最高层的组件,为了能够让它们进行通信,必须在它们外层再套一层组件,这个外层的组件起着保存数据,传递信息的作用,这其实就是redux所做的事情。 组件之间的信息还可以通过全局事件来传递。不同页面可以通过参数传递数据,下个页面可以用location.param来获取。其实react本身很简单,难的在于如何优雅高效的实现组件之间数据的交流。 ## Redux 首先,redux并不是必须的,它的作用相当于在顶层组件之上又加了一个组件,作用是进行逻辑运算、储存数据和实现组件尤其是顶层组件的通信。如果组件之间的交流不多,逻辑不复杂,只是单纯的进行视图的渲染,这时候用回调,context就行,没必要用redux,用了反而影响开发速度。但是如果组件交流特别频繁,逻辑很复杂,那redux的优势就特别明显了。我第一次做react项目的时候并没有用redux,所有的逻辑都是在组件内部实现,当时为了实现一个逻辑比较复杂的购物车,洋洋洒洒居然写了800多行代码,回头一看我自己都不知道写的是啥,画面太感人。 先简单说一下redux和react是怎么配合的。react-redux提供了connect和Provider两个好基友,它们一个将组件与redux关联起来,一个将store传给组件。组件通过dispatch发出action,store根据action的type属性调用对应的reducer并传入state和这个action,reducer对state进行处理并返回一个新的state放入store,connect监听到store发生变化,调用setState更新组件,此时组件的props也就跟着变化。 #### 流程是这个样子的: ![](https://github.com/bailicangdu/pxq/blob/master/screenshot/simple_redux.jpg) 值得注意的是connect,Provider,mapStateToProps,mapDispatchToProps是react-redux提供的,redux本身和react没有半毛钱关系,它只是数据处理中心,没有和react产生任何耦合,是react-redux让它们联系在一起。 #### 接下来具体分析一下,redux以及react-redux到底是怎么实现的。 #### 先上一张图 ![](https://github.com/bailicangdu/pxq/blob/master/screenshot/all_redux.png) 明显比第一张要复杂,其实两张图说的是同一件事。从上而下慢慢分析: ### 先说说redux: #### redux主要由三部分组成:store,reducer,action。 **store**是一个对象,它有四个主要的方法: **1、dispatch:** > 用于action的分发——在createStore中可以用middleware中间件对dispatch进行改造,比如当action传入dispatch会立即触发reducer,有些时候我们不希望它立即触发,而是等待异步操作完成之后再触发,这时候用redux-thunk对dispatch进行改造,以前只能传入一个对象,改造完成后可以传入一个函数,在这个函数里我们手动dispatch一个action对象,这个过程是可控的,就实现了异步。 **2、subscribe:** > 监听state的变化——这个函数在store调用dispatch时会注册一个listener监听state变化,当我们需要知道state是否变化时可以调用,它返回一个函数,调用这个返回的函数可以注销监听。 let unsubscribe = store.subscribe(() => {console.log('state发生了变化')}) **3、getState:** > 获取store中的state——当我们用action触发reducer改变了state时,需要再拿到新的state里的数据,毕竟数据才是我们想要的。getState主要在两个地方需要用到,一是在dispatch拿到action后store需要用它来获取state里的数据,并把这个数据传给reducer,这个过程是自动执行的,二是在我们利用subscribe监听到state发生变化后调用它来获取新的state数据,如果做到这一步,说明我们已经成功了。 **4、replaceReducer:** > 替换reducer,改变state修改的逻辑。 store可以通过createStore()方法创建,接受三个参数,经过combineReducers合并的reducer和state的初始状态以及改变dispatch的中间件,后两个参数并不是必须的。store的主要作用是将action和reducer联系起来并改变state。 **action:** >action是一个对象,其中type属性是必须的,同时可以传入一些数据。action可以用actionCreactor进行创造。dispatch就是把action对象发送出去。 **reducer:** >reducer是一个函数,它接受一个state和一个action,根据action的type返回一个新的state。根据业务逻辑可以分为很多个reducer,然后通过combineReducers将它们合并,state树中有很多对象,每个state对象对应一个reducer,state对象的名字可以在合并时定义。 像这个样子: ```javascript const reducer = combineReducers({ a: doSomethingWithA, b: processB, c: c }) ``` **combineReducers:** >其实它也是一个reducer,它接受整个state和一个action,然后将整个state拆分发送给对应的reducer进行处理,所有的reducer会收到相同的action,不过它们会根据action的type进行判断,有这个type就进行处理然后返回新的state,没有就返回默认值,然后这些分散的state又会整合在一起返回一个新的state树。 接下来分析一下整体的流程,首先调用store.dispatch将action作为参数传入,同时用getState获取当前的状态树state并注册subscribe的listener监听state变化,再调用combineReducers并将获取的state和action传入。combineReducers会将传入的state和action传给所有reducer,并根据action的type返回新的state,触发state树的更新,我们调用subscribe监听到state发生变化后用getState获取新的state数据。 redux的state和react的state两者完全没有关系,除了名字一样。 **上面分析了redux的主要功能,那么react-redux到底做了什么?** ## React-Redux 如果只使用redux,那么流程是这样的: > component --> dispatch(action) --> reducer --> subscribe --> getState --> component 用了react-redux之后流程是这样的: > component --> actionCreator(data) --> reducer --> component store的三大功能:dispatch,subscribe,getState都不需要手动来写了。react-redux帮我们做了这些,同时它提供了两个好基友Provider和connect。 **Provider**是一个组件,它接受store作为props,然后通过context往下传,这样react中任何组件都可以通过context获取store。也就意味着我们可以在任何一个组件里利用dispatch(action)来触发reducer改变state,并用subscribe监听state的变化,然后用getState获取变化后的值。但是并不推荐这样做,它会让数据流变的混乱,过度的耦合也会影响组件的复用,维护起来也更麻烦。 __connect --connect(mapStateToProps, mapDispatchToProps, mergeProps, options)__ 是一个函数,它接受四个参数并且再返回一个函数--wrapWithConnect,wrapWithConnect接受一个组件作为参数wrapWithConnect(component),它内部定义一个新组件Connect(容器组件)并将传入的组件(ui组件)作为Connect的子组件然后return出去。 所以它的完整写法是这样的:connect(mapStateToProps, mapDispatchToProps, mergeProps, options)(component) **mapStateToProps(state, [ownProps]):** >mapStateToProps 接受两个参数,store的state和自定义的props,并返回一个新的对象,这个对象会作为props的一部分传入ui组件。我们可以根据组件所需要的数据自定义返回一个对象。ownProps的变化也会触发mapStateToProps ```javascript function mapStateToProps(state) { return { todos: state.todos }; } ``` **mapDispatchToProps(dispatch, [ownProps]):** > mapDispatchToProps如果是对象,那么会和store绑定作为props的一部分传入ui组件。如果是个函数,它接受两个参数,bindActionCreators会将action和dispatch绑定并返回一个对象,这个对象会和ownProps一起作为props的一部分传入ui组件。所以不论mapDispatchToProps是对象还是函数,它最终都会返回一个对象,如果是函数,这个对象的key值是可以自定义的 ```javascript function mapDispatchToProps(dispatch) { return { todoActions: bindActionCreators(todoActionCreators, dispatch), counterActions: bindActionCreators(counterActionCreators, dispatch) }; } ``` mapDispatchToProps返回的对象其属性其实就是一个个actionCreator,因为已经和dispatch绑定,所以当调用actionCreator时会立即发送action,而不用手动dispatch。ownProps的变化也会触发mapDispatchToProps。 **mergeProps(stateProps, dispatchProps, ownProps):** > 将mapStateToProps() 与 mapDispatchToProps()返回的对象和组件自身的props合并成新的props并传入组件。默认返回 Object.assign({}, ownProps, stateProps, dispatchProps) 的结果。 **options:** > pure = true 表示Connect容器组件将在shouldComponentUpdate中对store的state和ownProps进行浅对比,判断是否发生变化,优化性能。为false则不对比。 其实connect函数并没有做什么,大部分的逻辑都是在它返回的wrapWithConnect函数内实现的,确切的说是在wrapWithConnect内定义的Connect组件里实现的。 ### 下面是一个完整的 react --> redux --> react 流程: 一、Provider组件接受redux的store作为props,然后通过context往下传。 二、connect函数在初始化的时候会将mapDispatchToProps对象绑定到store,如果mapDispatchToProps是函数则在Connect组件获得store后,根据传入的store.dispatch和action通过bindActionCreators进行绑定,再将返回的对象绑定到store,connect函数会返回一个wrapWithConnect函数,同时wrapWithConnect会被调用且传入一个ui组件,wrapWithConnect内部使用class Connect extends Component定义了一个Connect组件,传入的ui组件就是Connect的子组件,然后Connect组件会通过context获得store,并通过store.getState获得完整的state对象,将state传入mapStateToProps返回stateProps对象、mapDispatchToProps对象或mapDispatchToProps函数会返回一个dispatchProps对象,stateProps、dispatchProps以及Connect组件的props三者通过Object.assign(),或者mergeProps合并为props传入ui组件。然后在ComponentDidMount中调用store.subscribe,注册了一个回调函数handleChange监听state的变化。 三、此时ui组件就可以在props中找到actionCreator,当我们调用actionCreator时会自动调用dispatch,在dispatch中会调用getState获取整个state,同时注册一个listener监听state的变化,store将获得的state和action传给combineReducers,combineReducers会将state依据state的key值分别传给子reducer,并将action传给全部子reducer,reducer会被依次执行进行action.type的判断,如果有则返回一个新的state,如果没有则返回默认。combineReducers再次将子reducer返回的单个state进行合并成一个新的完整的state。此时state发生了变化。dispatch在state返回新的值之后会调用所有注册的listener函数其中包括handleChange函数,handleChange函数内部首先调用getState获取新的state值并对新旧两个state进行浅对比,如果相同直接return,如果不同则调用mapStateToProps获取stateProps并将新旧两个stateProps进行浅对比,如果相同,直接return结束,不进行后续操作。如果不相同则调用this.setState()触发Connect组件的更新,传入ui组件,触发ui组件的更新,此时ui组件获得新的props,react --> redux --> react 的一次流程结束。 **上面的有点复杂,简化版的流程是:** 一、Provider组件接受redux的store作为props,然后通过context往下传。 二、connect函数收到Provider传出的store,然后接受三个参数mapStateToProps,mapDispatchToProps和组件,并将state和actionCreator以props传入组件,这时组件就可以调用actionCreator函数来触发reducer函数返回新的state,connect监听到state变化调用setState更新组件并将新的state传入组件。 connect可以写的非常简洁,mapStateToProps,mapDispatchToProps只不过是传入的回调函数,connect函数在必要的时候会调用它们,名字不是固定的,甚至可以不写名字。 简化版本: ```javascript connect(state => state, action)(Component); ``` ## 项目搭建 上面说了react,react-router和redux的知识点。但是怎么样将它们整合起来,搭建一个完整的项目。 1、先引用 react.js,redux,react-router 等基本文件,建议用npm安装,直接在文件中引用。 2、从 react.js,redux,react-router 中引入所需要的对象和方法。 ```javascript import React, {Component, PropTypes} from 'react'; import ReactDOM, {render} from 'react-dom'; import {Provider, connect} from 'react-redux'; import {createStore, combineReducers, applyMiddleware} from 'redux'; import { Router, Route, Redirect, IndexRoute, browserHistory, hashHistory } from 'react-router'; ``` 3、根据需求创建顶层ui组件,每个顶层ui组件对应一个页面。 4、创建actionCreators和reducers,并用combineReducers将所有的reducer合并成一个大的reduer。利用createStore创建store并引入combineReducers和applyMiddleware。 5、利用connect将actionCreator,reuder和顶层的ui组件进行关联并返回一个新的组件。 6、利用connect返回的新的组件配合react-router进行路由的部署,返回一个路由组件Router。 7、将Router放入最顶层组件Provider,引入store作为Provider的属性。 8、调用render渲染Provider组件且放入页面的标签中。 可以看到顶层的ui组件其实被套了四层组件,Provider,Router,Route,Connect,这四个组件并不会在视图上改变react,它们只是功能性的。 通常我们在顶层的ui组件打印props时可以看到一堆属性: ![](https://github.com/bailicangdu/pxq/blob/master/screenshot/react_props.png) 上图的顶层ui组件属性总共有18个,如果刚刚接触react,可能对这些属性怎么来的感到困惑,其实这些属性来自五个地方: 组件自定义属性1个,actionCreator返回的对象6个,reducer返回的state4个,Connect组件属性0个,以及Router注入的属性7个。 ================================================ FILE: bin/react-scripts ================================================ #!/usr/bin/env node /** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ 'use strict'; const spawn = require('react-dev-utils/crossSpawn'); const args = process.argv.slice(2); const scriptIndex = args.findIndex( x => x === 'build' || x === 'eject' || x === 'start' || x === 'test' ); const script = scriptIndex === -1 ? args[0] : args[scriptIndex]; const nodeArgs = scriptIndex > 0 ? args.slice(0, scriptIndex) : []; switch (script) { case 'build': case 'eject': case 'start': case 'test': { const result = spawn.sync( 'node', nodeArgs .concat(require.resolve('../scripts/' + script)) .concat(args.slice(scriptIndex + 1)), { stdio: 'inherit' } ); if (result.signal) { if (result.signal === 'SIGKILL') { console.log( 'The build failed because the process exited too early. ' + 'This probably means the system ran out of memory or someone called ' + '`kill -9` on the process.' ); } else if (result.signal === 'SIGTERM') { console.log( 'The build failed because the process exited too early. ' + 'Someone might have called `kill` or `killall`, or the system could ' + 'be shutting down.' ); } process.exit(1); } process.exit(result.status); break; } default: console.log('Unknown script "' + script + '".'); console.log('Perhaps you need to update react-scripts?'); console.log( 'See: https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#updating-to-new-releases' ); break; } ================================================ FILE: config/env.js ================================================ // @remove-on-eject-begin /** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ // @remove-on-eject-end 'use strict'; const fs = require('fs'); const path = require('path'); const paths = require('./paths'); // Make sure that including paths.js after env.js will read .env variables. delete require.cache[require.resolve('./paths')]; const NODE_ENV = process.env.NODE_ENV; if (!NODE_ENV) { throw new Error( 'The NODE_ENV environment variable is required but was not specified.' ); } // https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use var dotenvFiles = [ `${paths.dotenv}.${NODE_ENV}.local`, `${paths.dotenv}.${NODE_ENV}`, // Don't include `.env.local` for `test` environment // since normally you expect tests to produce the same // results for everyone NODE_ENV !== 'test' && `${paths.dotenv}.local`, paths.dotenv, ].filter(Boolean); // Load environment variables from .env* files. Suppress warnings using silent // if this file is missing. dotenv will never modify any environment variables // that have already been set. // https://github.com/motdotla/dotenv dotenvFiles.forEach(dotenvFile => { if (fs.existsSync(dotenvFile)) { require('dotenv').config({ path: dotenvFile, }); } }); // We support resolving modules according to `NODE_PATH`. // This lets you use absolute paths in imports inside large monorepos: // https://github.com/facebookincubator/create-react-app/issues/253. // It works similar to `NODE_PATH` in Node itself: // https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders // Note that unlike in Node, only *relative* paths from `NODE_PATH` are honored. // Otherwise, we risk importing Node.js core modules into an app instead of Webpack shims. // https://github.com/facebookincubator/create-react-app/issues/1023#issuecomment-265344421 // We also resolve them to make sure all tools using them work consistently. const appDirectory = fs.realpathSync(process.cwd()); process.env.NODE_PATH = (process.env.NODE_PATH || '') .split(path.delimiter) .filter(folder => folder && !path.isAbsolute(folder)) .map(folder => path.resolve(appDirectory, folder)) .join(path.delimiter); // Grab NODE_ENV and REACT_APP_* environment variables and prepare them to be // injected into the application via DefinePlugin in Webpack configuration. const REACT_APP = /^REACT_APP_/i; function getClientEnvironment(publicUrl) { const raw = Object.keys(process.env) .filter(key => REACT_APP.test(key)) .reduce( (env, key) => { env[key] = process.env[key]; return env; }, { // Useful for determining whether we’re running in production mode. // Most importantly, it switches React into the correct mode. NODE_ENV: process.env.NODE_ENV || 'development', // Useful for resolving the correct path to static assets in `public`. // For example, . // This should only be used as an escape hatch. Normally you would put // images into the `src` and `import` them in code to get their paths. PUBLIC_URL: publicUrl, STATIC_ENV: process.env.STATIC_ENV || 'development', } ); // Stringify all values so we can feed into Webpack DefinePlugin const stringified = { 'process.env': Object.keys(raw).reduce((env, key) => { env[key] = JSON.stringify(raw[key]); return env; }, {}), }; return { raw, stringified }; } module.exports = getClientEnvironment; ================================================ FILE: config/jest/babelTransform.js ================================================ // @remove-file-on-eject /** * Copyright (c) 2014-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ 'use strict'; const babelJest = require('babel-jest'); module.exports = babelJest.createTransformer({ presets: [require.resolve('babel-preset-react-app')], babelrc: false, }); ================================================ FILE: config/jest/cssTransform.js ================================================ // @remove-on-eject-begin /** * Copyright (c) 2014-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ // @remove-on-eject-end 'use strict'; // This is a custom Jest transformer turning style imports into empty objects. // http://facebook.github.io/jest/docs/tutorial-webpack.html module.exports = { process() { return 'module.exports = {};'; }, getCacheKey() { // The output is always the same. return 'cssTransform'; }, }; ================================================ FILE: config/jest/fileTransform.js ================================================ // @remove-on-eject-begin /** * Copyright (c) 2014-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ // @remove-on-eject-end 'use strict'; const path = require('path'); // This is a custom Jest transformer turning file imports into filenames. // http://facebook.github.io/jest/docs/tutorial-webpack.html module.exports = { process(src, filename) { return `module.exports = ${JSON.stringify(path.basename(filename))};`; }, }; ================================================ FILE: config/paths.js ================================================ // @remove-on-eject-begin /** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ // @remove-on-eject-end 'use strict'; const path = require('path'); const fs = require('fs'); const url = require('url'); // Make sure any symlinks in the project folder are resolved: // https://github.com/facebookincubator/create-react-app/issues/637 const appDirectory = fs.realpathSync(process.cwd()); const resolveApp = relativePath => path.resolve(appDirectory, relativePath); const envPublicUrl = process.env.PUBLIC_URL; const appName = envPublicUrl&&envPublicUrl.split('/').reverse()[0]; function ensureSlash(path, needsSlash) { const hasSlash = path.endsWith('/'); if (hasSlash && !needsSlash) { return path.substr(path, path.length - 1); } else if (!hasSlash && needsSlash) { return `${path}/`; } else { return path; } } const getPublicUrl = appPackageJson => envPublicUrl || require(appPackageJson).homepage; // We use `PUBLIC_URL` environment variable or "homepage" field to infer // "public path" at which the app is served. // Webpack needs to know it to put the right ================================================ FILE: pxq/manifest.json ================================================ { "short_name": "React App", "name": "Create React App Sample", "icons": [ { "src": "favicon.ico", "sizes": "64x64 32x32 24x24 16x16", "type": "image/x-icon" } ], "start_url": "./index.html", "display": "standalone", "theme_color": "#000000", "background_color": "#ffffff" } ================================================ FILE: pxq/service-worker.js ================================================ "use strict";var precacheConfig=[["/pxq/index.html","875215ec8d140e525fd454d2c022057b"],["/pxq/static/css/main.fc2ff5ec.css","fc2ff5ec6f5dc4032dabfcd7f2aaa7f7"],["/pxq/static/js/0.c353ab85.chunk.js","e7c50c13f6ea3fcedaa90f4b338e8435"],["/pxq/static/js/1.af913d75.chunk.js","6940f47e358dd059edaeadc24ccdf564"],["/pxq/static/js/2.a96eb65f.chunk.js","6a1675b658706d0ff2c0a3d23f5e1153"],["/pxq/static/js/3.ff2875c3.chunk.js","8ff44e7d84be779d753b578d97f93419"],["/pxq/static/js/main.83dc4a4d.js","c00f625a5e31f8b88f4b4930a59a1f2c"],["/pxq/static/media/iconfont.6924d946.svg","6924d946d064c8e9e3e13857d0b17c92"],["/pxq/static/media/iconfont.7e008a77.eot","7e008a771d5079e5051b632adcff1243"],["/pxq/static/media/iconfont.d828102a.ttf","d828102abc66b0a0a7cd5eb3f9b4e2b4"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,t){var n=new URL(e);return"/"===n.pathname.slice(-1)&&(n.pathname+=t),n.toString()},cleanResponse=function(t){return t.redirected?("body"in t?Promise.resolve(t.body):t.blob()).then(function(e){return new Response(e,{headers:t.headers,status:t.status,statusText:t.statusText})}):Promise.resolve(t)},createCacheKey=function(e,t,n,r){var a=new URL(e);return r&&a.pathname.match(r)||(a.search+=(a.search?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(n)),a.toString()},isPathWhitelisted=function(e,t){if(0===e.length)return!0;var n=new URL(t).pathname;return e.some(function(e){return n.match(e)})},stripIgnoredUrlParameters=function(e,n){var t=new URL(e);return t.hash="",t.search=t.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(t){return n.every(function(e){return!e.test(t[0])})}).map(function(e){return e.join("=")}).join("&"),t.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var t=e[0],n=e[1],r=new URL(t,self.location),a=createCacheKey(r,hashParamName,n,/\.\w{8}\./);return[r.toString(),a]}));function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(r){return setOfCachedUrls(r).then(function(n){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(t){if(!n.has(t)){var e=new Request(t,{credentials:"same-origin"});return fetch(e).then(function(e){if(!e.ok)throw new Error("Request for "+t+" returned a response with status "+e.status);return cleanResponse(e).then(function(e){return r.put(t,e)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var n=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(t){return t.keys().then(function(e){return Promise.all(e.map(function(e){if(!n.has(e.url))return t.delete(e)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(t){if("GET"===t.request.method){var e,n=stripIgnoredUrlParameters(t.request.url,ignoreUrlParametersMatching),r="index.html";(e=urlsToCacheKeys.has(n))||(n=addDirectoryIndex(n,r),e=urlsToCacheKeys.has(n));var a="/pxq/index.html";!e&&"navigate"===t.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],t.request.url)&&(n=new URL(a,self.location).toString(),e=urlsToCacheKeys.has(n)),e&&t.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(n)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(e){return console.warn('Couldn\'t serve response for "%s" from cache: %O',t.request.url,e),fetch(t.request)}))}}); ================================================ FILE: pxq/static/css/main.fc2ff5ec.css ================================================ @font-face{font-family:iconfont;src:url(/pxq/static/media/iconfont.7e008a77.eot);src:url(/pxq/static/media/iconfont.7e008a77.eot#iefix) format("embedded-opentype"),url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAtAAAsAAAAAEZgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZXQkwMY21hcAAAAYAAAADoAAAC1hg9qYRnbHlmAAACaAAABkcAAAkcekACRmhlYWQAAAiwAAAALwAAADYQF6tXaGhlYQAACOAAAAAcAAAAJAfeA5RobXR4AAAI/AAAABQAAABMS+kAAGxvY2EAAAkQAAAAKAAAACgU7Bb+bWF4cAAACTgAAAAfAAAAIAEjAGxuYW1lAAAJWAAAAUUAAAJtPlT+fXBvc3QAAAqgAAAAnwAAAOqgT+NxeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/s84gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVLySZm7438AQw9zAcAUozAiSAwAq5gzmeJzFkj1uwkAQhb81DvnDxFDQ0EQIpUrNUTgIojAX4TS5B+ICzxZFrkDeetykgSrKrL717mjkmZ03wAMwMp+mhPRNIltnb+r9I156f8mX7yvefSpoVKhSrbU22mqnvQ466tzO2kV3uiyvV8c24m7MbUvOt+LjxsoxBa+u8o2aud9T8uiKnxgzo+KZCVMHje/m+jNL/5f6t036vRtuc9MMuEQRuJsoBe4rKoI8JaoC9xrVAfm7DvI/tQnyZGkb5MnSLrA6aB/kydIhsGLoGFg7dA6sIu2A9aRdBFaW7hTkl12WAdMf/xlbVnicjVZ9iBtFFJ83k929JJtNN8lm75L72mw+2msul8vX2tO7S6VytfaPFlEUaU8r/aDoUapQ6kfv/hHt0T80UvGrQktFxVpQsFS5trmihZYKImi5eljFKhWhRf8QPJuJb5I7ewUtbrKzb+a9eW9+b957M0QipP4Dm2KtJEiWkn6yiqwjBOTlENNoB1ipQoYuB8OSDDOksZSdshQ7lmGDYMbkUDhXKiRNWZH9oEEn5K1cKZWhKSgWhujtkAt3ALRFI/cGEu0B9iJ4WlOdz/E19BAYXXa7f6iX350eDuW6gy271ECgLRDY1yJLUgulLr8Gj5tht+T2yPyw5I8YU13LaBeobanI2gd93dHAIy8UxjoSphtgYgKC0W7tnWE9ouP/mUg4GGhTlvhaWiM+Ox6CXZe9rUG1I/kjwUdGrO+7CP2AeEkriSPaIlmBaJVOCMmKOQSFZGox7fwXAxJ6QrJ0i37Vs6yvb1lPfmAgf4Ma7xlZv36kZ/2GDetvUPwar0K5VgVSJ7Q9G9/05KZ4tvepl57uXUy/lB0+cv7IcHbkzJUzI4vp6/UqTFSrfELgcCGOI6xMjzRwtJPuW2Bgt1xq5f8sqvbiItuAth9j4/QqoYSYOuxh5GU2wVcJHkNe2kVYmizBVS0lxA2pJMZJF4RzDmCsxJhMlDAxS8RJEpaB1BA4nWBqQH/kx571RkOe/d6oBx71GNGrF/klSQLr4gxYksQvzZyYk6S5E1OihT/4x3tQxvOKxwObvFED0ihxcaY5Y+YiWNfXSHNTCzPESutb2TS9hv5qRwia8Ba6x8lAEORYHyQLpVwXQCkXDkGtytFetVp3uerj/JiaUD9VWxPqm7BcjbfRa1K9eqouSfVT1Tp/n3+kqid88Tb1LehDIeEDYSvNdqMPfCRKiIS2EKfeBAo395bScja7EmBlNlumdB2Us/1lgHJ/tgyb+4YBhvtYrPm9/t3N/eY+HGeErSCS8LPiBpMRXijAq3xbAXZDNc+f4DtzjZg/x/5iJdwdBfH7Mc9NQpy8YScsAwPDaPwS2NfxlfbuBZNeqlkLL/9lLz73TU5Osu2Tv+OHypMLMfgTe4NF0UKAxAiCB4RmmCUHQ6/kCLoTQDFRraljkTBKjulgn34Bg4UddCeYqzJAP9y3+dnaowMXLhy7fDqzYnTNhhV8y+goTAw+Etm8Q/OXb7vr/q37Z2Ibu96G9MAFfvUy5E/H9Y3hOzYM0C8eHm2uYxxjbgL94CV6A5utW0Wb5Yv5ogU2YrSZkTfyeqUCY7OVyiyvsLFZGKvMzlau8kqFktnKdcGjyIOx+ToxxS6wVajRJKvJGqyJ9yI+K4aB4lgYJbKyiDZBVmLJVNIpDsEw6IWkYiVlU5fDjinYWEqTKb0fmY6Fux7UwMwnknIHOMF+g17mW3UT8+i1gGkGFtHj/Fc16PbLGoNM7Hy8l2/L2gB2dp2QOBTLAKQtOhTrpcC0hyT+dXdnpUTjpm0Cvm/Pfw/wX/wgy/7gbzZOgN3pDqBWvvZZzgLB7rPpseWxXoaqeDgULKTBztxZoUZ0Po6Ps8/ZSMMHeCIsSlwrAwK7qDJQm+aYDgDT0wCYN3WDv+vx+TzwgEfT2AgOTJ9uCpxGAY5TMMVEs1BLfqbfs4iIYdDzQZ1B95m5ORrh5+uEFerzcfY8+5PtwlX0kRGCW57AwMLjpVREV6csDTpQnzhuEvlcySli4OGYoTfGSoO4UlYsJHETZEVvnlE4hv0MSHZMFnPFmNAlZDowRUECzXuPV9O8/BPRnvVqVD/nQYbm4cc9fr9nrVfz+zXv2uYYrBZj5zz+2rWzQh5GRIsKQNt+rjGwuik4P01wYEE5TqP62RvGGtP88/abmpDb9EOVVVm5sR9LyTL0WKN0Ks0yurimiYqGgLCcGbrZCbJNydErknTlaLM9WZOk2slG2yq5vpHdqvtLCVoUFv1H5OiVngURbGsH2HuSAmnZ7Zb5t4ddqrcZHwvrSd1cU5lthORYchBskSO343WgJO4CeZEMlJysuVzzqr378cje79N13wLByg2DTQmeuonXIBox8zr7mW0R1dUN4njBe4C4izhuEBeSlLtx0iiU8I1qV6sKB/moalpeOASHRJ+PwsFG/3jzyzf+uxwhfwPiFAemAHicY2BkYGAA4vKFJl7x/DZfGbhZGEDgWo3xdQT9X4eFgbkByOVgYAKJAgAXEwm7AHicY2BkYGBu+N/AEMPCAAJAkpEBFQgDAEcZAnx4nGNhYGBgfsnAwMJAOQYATIMBNQAAAAAAdgDaARgBJgFyAagB3AHwAhwCYAKKAwwDPgNQA9QEHARYBI54nGNgZGBgEGZIYGBjAAEmIOYCQgaG/2A+AwAUNQGQAHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nG1Nyw6DMAyrgVFeezD2Gxz2SV2HWBBqmWilwtcvG+I2H2LLdhIRiQ2F+I8GEWIkOCCFRIYcBUpUOOKEMy6ocUWDm0AoFjIjKdM/VbXLQMqWszIDcyDTp8Ers3Zyo7tclXFs15wbZ32r7bT8htTKqdH2cuCYr2Vv3phYJwONPvn2s/3JyXnSL783ctLWtK6bXcy1tGf7QUJ8AKd5PBgA") format("woff"),url(/pxq/static/media/iconfont.d828102a.ttf) format("truetype"),url(/pxq/static/media/iconfont.6924d946.svg#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-size:.213333rem;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-yinliangda:before{content:"\E600"}.icon-yinliangxiao:before{content:"\E602"}.icon-sanjiaoxing:before{content:"\E656"}.icon-xuanze:before{content:"\E636"}.icon-xuanze1:before{content:"\E696"}.icon-zanting:before{content:"\E672"}.icon-jiantou-copy-copy:before{content:"\E679"}.icon-catalog:before{content:"\E716"}.icon-jingyin:before{content:"\E674"}.icon-quanping:before{content:"\E601"}.icon-jilu:before{content:"\E8D7"}.icon-jian:before{content:"\E711"}.icon-yinliang:before{content:"\EA1B"}.icon-tuichuquanping:before{content:"\E60D"}.icon-icon-test:before{content:"\E610"}.icon-jia:before{content:"\E6D9"}.icon-guanbi:before{content:"\E624"}.header-container{background-color:#975ec9;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;position:fixed;top:0;left:0;z-index:10;width:100%;height:1.173333rem}.header-container .header-slide-icon{font-size:.48rem;color:#fff;text-align:left;position:absolute;top:50%;left:.4rem;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.header-container .header-link,.header-container .header-title{font-size:.533333rem;color:#fff;text-align:left}.header-container .header-link{position:absolute;top:50%;right:.4rem;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.header-container .header-link-confim{font-size:.426667rem}.header-container .nav-slide-list{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background-color:#fff;top:1.173333rem;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.header-container .nav-slide-list .nav-link{font-size:.426667rem;color:#333;text-align:left;border-bottom:1px solid #ddd;margin:0 .4rem;padding:.466667rem .266667rem;position:relative}.header-container .nav-slide-list .nav-link:before{position:absolute;right:.133333rem;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0);color:#666}.header-container .nav-enter{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.header-container .nav-enter.nav-enter-active{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;-o-transition:transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.header-container .nav-enter.nav-enter-active,.header-container .nav-leave{-webkit-transform:translateZ(0);transform:translateZ(0)}.header-container .nav-leave.nav-leave-active{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;-o-transition:transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.alert-con{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background-color:rgba(0,0,0,.3);z-index:11}.alert-context{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);z-index:12;width:8rem;height:4.8rem;background-color:#fff;border-radius:.213333rem;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:stretch;align-items:stretch;-ms-flex-direction:column;flex-direction:column}.alert-context .alert-content-detail{-ms-flex:5 1;flex:5 1;-ms-flex-pack:center;-ms-flex-align:center}.alert-context .alert-content-detail,.alert-context .confirm-btn{display:-ms-flexbox;display:flex;justify-content:center;align-items:center;font-size:.533333rem;color:#333;text-align:left}.alert-context .confirm-btn{-ms-flex:2 1;flex:2 1;-ms-flex-pack:center;-ms-flex-align:center;border-top:1px solid #eee}.alert-enter{opacity:0}.alert-enter.alert-enter-active{-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:1}.alert-leave{opacity:1}.alert-leave.alert-leave-active{-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;opacity:0}.home-container{padding-top:1.173333rem}.home-container .common-title{font-size:.48rem;color:#975ec9;text-align:left;padding:.4rem}.home-container .home-form{background-color:#fff}.home-container .home-form .home-form-tiem{height:1.6rem;border-bottom:1px solid #eee}.home-container .home-form .home-form-tiem span{font-size:.426667rem;color:#555;text-align:left;margin-left:.4rem;margin-right:.266667rem}.home-container .home-form .home-form-tiem input{border:none;font-size:.4rem}.home-container .home-form .home-form-tiem ::-webkit-input-placeholder{color:#ccc}.home-container .common-select-btn{background-color:#fff;display:block;min-height:1.6rem;font-size:.56rem;color:#ccc;text-align:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.home-container .common-select-btn .selected-pro-list{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.home-container .common-select-btn .selected-pro-list .selected-pro-item{width:4.533333rem;margin:.133333rem;line-height:.666667rem;font-size:.426667rem;color:#333;text-align:center}.home-container .upload-img-con{text-align:center}.home-container .upload-img-con .file-lable{position:relative}.home-container .upload-img-con .file-lable input[type=file]{position:absolute;width:100%;height:100%;background-color:red;top:0;right:0;opacity:0}.home-container .upload-img-con .select-img{margin-top:.133333rem}.home-container .submit-btn{width:90%;background-color:#975ec9;margin:.666667rem auto 0;border-radius:.133333rem;line-height:1.333333rem;font-size:.533333rem;color:#fff;text-align:center}*{margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;font-family:Helvetica Neue,Helvetica,STHeiTi,sans-serif;-webkit-font-smoothing:antialiased;-webkit-box-sizing:border-box;box-sizing:border-box;font-weight:400}img{vertical-align:top;border:none}button:focus,input:focus,select:focus,textarea:focus{outline:none}input[type=email],input[type=file],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],textarea{-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}[class*=" icon-"],[class^=icon-]{font-family:iconfont;font-size:.213333rem;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;-webkit-touch-callout:none}body{background-color:#f5f5f5}em,i{font-style:normal}li{list-style:none}body,html{height:100%}.common-con-top{margin-top:1.173333rem}.ellipsis{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap} ================================================ FILE: pxq/static/js/0.c353ab85.chunk.js ================================================ webpackJsonp([0],{514:function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c=n(5),i=n.n(c),s=n(51),l=(n.n(s),n(75)),A=n(184),m=n(518),p=n(521),f=(n.n(p),function(){function e(e,t){for(var n=0;n0?"edit-active":""),onClick:e.handleEdit.bind(e,n,-1)}),a.a.createElement("span",{className:"pro-num"},t.selectNum),a.a.createElement("span",{className:"icon-jia",onClick:e.handleEdit.bind(e,n,1)})))}))))}}]),t}(c.Component),l.propTypes={proData:f.a.object.isRequired,getProData:f.a.func.isRequired,togSelectPro:f.a.func.isRequired,editPro:f.a.func.isRequired},s);t.default=Object(A.b)(function(e){return{proData:e.proData}},{getProData:m.c,togSelectPro:m.d,editPro:m.b})(g)},525:function(e,t,n){var o=n(526);"string"===typeof o&&(o=[[e.i,o,""]]);var r={hmr:!0};r.transform=void 0;n(512)(o,r);o.locals&&(e.exports=o.locals)},526:function(e,t,n){t=e.exports=n(183)(!0),t.i(n(513),""),t.push([e.i,".pro-list-con{padding-top:.4rem}.pro-list-ul{background-color:#fff}.pro-list-ul .pro-item{min-height:1.866667rem;padding:.4rem;border-bottom:1px solid #eee;-ms-flex-pack:justify;justify-content:space-between}.pro-list-ul .pro-item,.pro-list-ul .pro-item .pro-item-select{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.pro-list-ul .pro-item .pro-item-select{-ms-flex-pack:center;justify-content:center}.pro-list-ul .pro-item .pro-item-select .pro-select-status{font-size:.6rem;color:#ccc;text-align:left}.pro-list-ul .pro-item .pro-item-select .pro-selected{color:#975ec9}.pro-list-ul .pro-item .pro-item-select .pro-name{font-size:.48rem;color:#333;text-align:left;margin-left:.266667rem;margin-top:.16rem}.pro-list-ul .pro-item .pro-item-edit{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.pro-list-ul .pro-item .pro-item-edit .icon-jian{font-size:.666667rem;color:#ccc;text-align:left}.pro-list-ul .pro-item .pro-item-edit .pro-num{font-size:.4rem;color:#333;text-align:center;min-width:.8rem}.pro-list-ul .pro-item .pro-item-edit .icon-jia{font-size:.666667rem;color:#975ec9;text-align:left}.pro-list-ul .pro-item .pro-item-edit .edit-active{color:#975ec9}","",{version:3,sources:["/mygit/react-pxq/src/pages/production/production.less"],names:[],mappings:"AAEA,cACE,iBAAoB,CACrB,AAED,aACE,qBAAuB,CACxB,AAED,uBACE,uBAAwB,AACxB,cAAgB,AAChB,6BAA8B,AAG9B,sBAAuB,AACvB,6BAA+B,CAGhC,AAED,+DARE,oBAAqB,AACrB,aAAc,AAGd,sBAAuB,AACvB,kBAAoB,CAUrB,AAPD,wCAGE,qBAAsB,AACtB,sBAAwB,CAGzB,AAED,2DACE,gBAAkB,AAClB,WAAY,AACZ,eAAiB,CAClB,AAED,sDACE,aAAe,CAChB,AAED,kDACE,iBAAmB,AACnB,WAAY,AACZ,gBAAiB,AACjB,uBAAyB,AACzB,iBAAoB,CACrB,AAED,sCACE,oBAAqB,AACrB,aAAc,AACd,qBAAsB,AACtB,uBAAwB,AACxB,sBAAuB,AACvB,kBAAoB,CACrB,AAED,iDACE,qBAAuB,AACvB,WAAY,AACZ,eAAiB,CAClB,AAED,+CACE,gBAAkB,AAClB,WAAY,AACZ,kBAAmB,AACnB,eAAkB,CACnB,AAED,gDACE,qBAAuB,AACvB,cAAe,AACf,eAAiB,CAClB,AAED,mDACE,aAAe,CAChB",file:"production.less",sourcesContent:['@import "../../assets/iconfonts/iconfont.css";\n\n.pro-list-con {\n padding-top: 0.4rem;\n}\n\n.pro-list-ul {\n background-color: #fff;\n}\n\n.pro-list-ul .pro-item {\n min-height: 1.866667rem;\n padding: 0.4rem;\n border-bottom: 1PX solid #eee;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.pro-list-ul .pro-item .pro-item-select {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.pro-list-ul .pro-item .pro-item-select .pro-select-status {\n font-size: 0.6rem;\n color: #ccc;\n text-align: left;\n}\n\n.pro-list-ul .pro-item .pro-item-select .pro-selected {\n color: #975ec9;\n}\n\n.pro-list-ul .pro-item .pro-item-select .pro-name {\n font-size: 0.48rem;\n color: #333;\n text-align: left;\n margin-left: 0.266667rem;\n margin-top: 0.16rem;\n}\n\n.pro-list-ul .pro-item .pro-item-edit {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.pro-list-ul .pro-item .pro-item-edit .icon-jian {\n font-size: 0.666667rem;\n color: #ccc;\n text-align: left;\n}\n\n.pro-list-ul .pro-item .pro-item-edit .pro-num {\n font-size: 0.4rem;\n color: #333;\n text-align: center;\n min-width: 0.8rem;\n}\n\n.pro-list-ul .pro-item .pro-item-edit .icon-jia {\n font-size: 0.666667rem;\n color: #975ec9;\n text-align: left;\n}\n\n.pro-list-ul .pro-item .pro-item-edit .edit-active {\n color: #975ec9;\n}'],sourceRoot:""}])}}); ================================================ FILE: pxq/static/js/2.a96eb65f.chunk.js ================================================ webpackJsonp([2],{515:function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"default",function(){return s});var c=n(5),l=n.n(c),i=n(184),u=n(51),p=(n.n(u),n(523)),m=(n.n(p),function(){function e(e,t){for(var n=0;n200&&(t="200.00"),i.setState({applyNum:t}))},i.sumitForm=function(){var e=void 0;e=i.state.applyNum?parseFloat(i.state.applyNum)>i.state.balance.balance?"\u7533\u8bf7\u63d0\u73b0\u91d1\u989d\u4e0d\u80fd\u5927\u4e8e\u4f59\u989d":"\u7533\u8bf7\u63d0\u73b0\u6210\u529f":"\u8bf7\u8f93\u5165\u63d0\u73b0\u91d1\u989d",i.setState({alertStatus:!0,alertTip:e,applyNum:""})},i.closeAlert=function(){i.setState({alertStatus:!1,alertTip:""})},c=n,a(i,c)}return i(t,e),h(t,[{key:"shouldComponentUpdate",value:function(e,t){return!Object(m.is)(Object(m.fromJS)(this.props),Object(m.fromJS)(e))||!Object(m.is)(Object(m.fromJS)(this.state),Object(m.fromJS)(t))}},{key:"componentDidMount",value:function(){this.initData()}},{key:"render",value:function(){return A.a.createElement("main",{className:"home-container"},A.a.createElement(p.a,{title:"\u63d0\u73b0",record:!0}),A.a.createElement("section",{className:"broke-main-content"},A.a.createElement("p",{className:"broke-header"},"\u60a8\u7684\u53ef\u63d0\u73b0\u91d1\u989d\u4e3a\uff1a\xa5 ",this.state.balance.balance),A.a.createElement("form",{className:"broke-form"},A.a.createElement("p",null,"\u8bf7\u8f93\u5165\u63d0\u73b0\u91d1\u989d\uff08\u5143\uff09"),A.a.createElement("p",null,"\xa5 ",A.a.createElement("input",{type:"text",value:this.state.applyNum,placeholder:"0.00",onInput:this.handleInput,maxLength:"5"}))),A.a.createElement(f.a,{className:"submit-btn",clickCallBack:this.sumitForm,text:"\u7533\u8bf7\u63d0\u73b0"})),A.a.createElement(u.a,{closeAlert:this.closeAlert,alertTip:this.state.alertTip,alertStatus:this.state.alertStatus}))}}]),t}(s.Component);t.default=C},527:function(e,t,n){var r=n(528);"string"===typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0};o.transform=void 0;n(512)(r,o);r.locals&&(e.exports=r.locals)},528:function(e,t,n){t=e.exports=n(183)(!0),t.push([e.i,".broke-main-content{padding-top:.4rem}.broke-main-content .broke-header{font-size:.426667rem;color:#999;text-align:left;padding:0 .4rem}.broke-main-content .broke-form{background-color:#fff;min-height:3.333333rem;margin-top:.4rem;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column}.broke-main-content .broke-form p:first-of-type{font-size:.533333rem;color:#333;text-align:left}.broke-main-content .broke-form p:nth-of-type(2){font-size:.533333rem;color:#333;text-align:left;margin-top:.4rem}.broke-main-content .broke-form p:nth-of-type(2) ::-webkit-input-placeholder{color:#ccc}.broke-main-content .broke-form p:nth-of-type(2) input{border:none;font-size:.533333rem;color:#333;text-align:left;width:2.4rem}","",{version:3,sources:["/mygit/react-pxq/src/pages/balance/balance.less"],names:[],mappings:"AAAA,oBACE,iBAAoB,CACrB,AAED,kCACE,qBAAuB,AACvB,WAAY,AACZ,gBAAiB,AACjB,eAAkB,CACnB,AAED,gCACE,sBAAuB,AACvB,uBAAwB,AACxB,iBAAmB,AACnB,oBAAqB,AACrB,aAAc,AACd,qBAAsB,AACtB,uBAAwB,AACxB,sBAAuB,AACvB,mBAAoB,AACpB,0BAA2B,AAC3B,qBAAuB,CACxB,AAED,gDACE,qBAAuB,AACvB,WAAY,AACZ,eAAiB,CAClB,AAED,iDACE,qBAAuB,AACvB,WAAY,AACZ,gBAAiB,AACjB,gBAAmB,CACpB,AAED,6EACE,UAAY,CACb,AAED,uDACE,YAAa,AACb,qBAAuB,AACvB,WAAY,AACZ,gBAAiB,AACjB,YAAc,CACf",file:"balance.less",sourcesContent:[".broke-main-content {\n padding-top: 0.4rem;\n}\n\n.broke-main-content .broke-header {\n font-size: 0.426667rem;\n color: #999;\n text-align: left;\n padding: 0 0.4rem;\n}\n\n.broke-main-content .broke-form {\n background-color: #fff;\n min-height: 3.333333rem;\n margin-top: 0.4rem;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.broke-main-content .broke-form p:nth-of-type(1) {\n font-size: 0.533333rem;\n color: #333;\n text-align: left;\n}\n\n.broke-main-content .broke-form p:nth-of-type(2) {\n font-size: 0.533333rem;\n color: #333;\n text-align: left;\n margin-top: 0.4rem;\n}\n\n.broke-main-content .broke-form p:nth-of-type(2) ::-webkit-input-placeholder {\n color: #ccc;\n}\n\n.broke-main-content .broke-form p:nth-of-type(2) input {\n border: none;\n font-size: 0.533333rem;\n color: #333;\n text-align: left;\n width: 2.4rem;\n}"],sourceRoot:""}])}}); ================================================ FILE: pxq/static/js/main.83dc4a4d.js ================================================ !function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n=window.webpackJsonp;window.webpackJsonp=function(e,r,i){for(var a,u,c=0,s=[];c0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(28);t.exports=function(t){return Object(r(t))}},function(t,e,n){"use strict";var r=function(){};t.exports=r},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var r=n(9),o=n(37);t.exports=n(8)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(2),o=n(14),i=n(17),a=n(38)("src"),u=Function.toString,c=(""+u).split("toString");n(23).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||u.call(this)})},function(t,e,n){var r=n(0),o=n(3),i=n(28),a=/"/g,u=function(t,e,n,r){var o=String(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+o+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(53),o=n(28);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(54),o=n(37),i=n(18),a=n(27),u=n(17),c=n(117),s=Object.getOwnPropertyDescriptor;e.f=n(8)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(t){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(17),o=n(11),i=n(78)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){"use strict";var r=function(t,e,n,r,o,i,a,u){if(!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=[n,r,o,i,a,u],f=0;c=new Error(e.replace(/%s/g,function(){return s[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}};t.exports=r},function(t,e,n){"use strict";function r(t){return"[object Array]"===S.call(t)}function o(t){return"[object ArrayBuffer]"===S.call(t)}function i(t){return"undefined"!==typeof FormData&&t instanceof FormData}function a(t){return"undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer}function u(t){return"string"===typeof t}function c(t){return"number"===typeof t}function s(t){return"undefined"===typeof t}function f(t){return null!==t&&"object"===typeof t}function l(t){return"[object Date]"===S.call(t)}function p(t){return"[object File]"===S.call(t)}function h(t){return"[object Blob]"===S.call(t)}function d(t){return"[object Function]"===S.call(t)}function v(t){return f(t)&&d(t.pipe)}function y(t){return"undefined"!==typeof URLSearchParams&&t instanceof URLSearchParams}function m(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function b(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),r(t))for(var n=0,o=t.length;n0?r:n)(t)}},function(t,e,n){var r=n(0),o=n(23),i=n(3);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(24),o=n(53),i=n(11),a=n(10),u=n(95);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,p=5==t||l,h=e||u;return function(e,u,d){for(var v,y,m=i(e),g=o(m),b=r(u,d,3),w=a(g.length),_=0,x=n?h(e,w):c?h(e,0):void 0;w>_;_++)if((p||_ in g)&&(v=g[_],y=b(v,_,m),t))if(n)x[_]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return _;case 2:x.push(v)}else if(f)return!1;return l?-1:s||f?f:x}}},function(t,e,n){"use strict";if(n(8)){var r=n(35),o=n(2),i=n(3),a=n(0),u=n(70),c=n(101),s=n(24),f=n(44),l=n(37),p=n(14),h=n(46),d=n(29),v=n(10),y=n(143),m=n(40),g=n(27),b=n(17),w=n(55),_=n(4),x=n(11),E=n(92),S=n(41),A=n(20),O=n(42).f,C=n(94),T=n(38),k=n(6),P=n(31),j=n(60),I=n(67),M=n(97),R=n(49),N=n(64),D=n(43),L=n(96),U=n(133),F=n(9),B=n(19),z=F.f,q=B.f,W=o.RangeError,H=o.TypeError,V=o.Uint8Array,K=Array.prototype,Y=c.ArrayBuffer,G=c.DataView,Q=P(0),J=P(2),X=P(3),Z=P(4),$=P(5),tt=P(6),et=j(!0),nt=j(!1),rt=M.values,ot=M.keys,it=M.entries,at=K.lastIndexOf,ut=K.reduce,ct=K.reduceRight,st=K.join,ft=K.sort,lt=K.slice,pt=K.toString,ht=K.toLocaleString,dt=k("iterator"),vt=k("toStringTag"),yt=T("typed_constructor"),mt=T("def_constructor"),gt=u.CONSTR,bt=u.TYPED,wt=u.VIEW,_t=P(1,function(t,e){return Ot(I(t,t[mt]),e)}),xt=i(function(){return 1===new V(new Uint16Array([1]).buffer)[0]}),Et=!!V&&!!V.prototype.set&&i(function(){new V(1).set({})}),St=function(t,e){var n=d(t);if(n<0||n%e)throw W("Wrong offset!");return n},At=function(t){if(_(t)&&bt in t)return t;throw H(t+" is not a typed array!")},Ot=function(t,e){if(!(_(t)&&yt in t))throw H("It is not a typed array constructor!");return new t(e)},Ct=function(t,e){return Tt(I(t,t[mt]),e)},Tt=function(t,e){for(var n=0,r=e.length,o=Ot(t,r);r>n;)o[n]=e[n++];return o},kt=function(t,e,n){z(t,e,{get:function(){return this._d[n]}})},Pt=function(t){var e,n,r,o,i,a,u=x(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,p=C(u);if(void 0!=p&&!E(p)){for(a=p.call(u),r=[],e=0;!(i=a.next()).done;e++)r.push(i.value);u=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=v(u.length),o=Ot(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},jt=function(){for(var t=0,e=arguments.length,n=Ot(this,e);e>t;)n[t]=arguments[t++];return n},It=!!V&&i(function(){ht.call(new V(1))}),Mt=function(){return ht.apply(It?lt.call(At(this)):At(this),arguments)},Rt={copyWithin:function(t,e){return U.call(At(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return Z(At(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return L.apply(At(this),arguments)},filter:function(t){return Ct(this,J(At(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return $(At(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(At(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){Q(At(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(At(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(At(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(At(this),arguments)},lastIndexOf:function(t){return at.apply(At(this),arguments)},map:function(t){return _t(At(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(At(this),arguments)},reduceRight:function(t){return ct.apply(At(this),arguments)},reverse:function(){for(var t,e=this,n=At(e).length,r=Math.floor(n/2),o=0;o1?arguments[1]:void 0)},sort:function(t){return ft.call(At(this),t)},subarray:function(t,e){var n=At(this),r=n.length,o=m(t,r);return new(I(n,n[mt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,v((void 0===e?r:m(e,r))-o))}},Nt=function(t,e){return Ct(this,lt.call(At(this),t,e))},Dt=function(t){At(this);var e=St(arguments[1],1),n=this.length,r=x(t),o=v(r.length),i=0;if(o+e>n)throw W("Wrong length!");for(;i255?255:255&r),o.v[h](n*e+o.o,r,xt)},k=function(t,e){z(t,e,{get:function(){return C(this,e)},set:function(t){return T(this,e,t)},enumerable:!0})};b?(d=n(function(t,n,r,o){f(t,d,s,"_d");var i,a,u,c,l=0,h=0;if(_(n)){if(!(n instanceof Y||"ArrayBuffer"==(c=w(n))||"SharedArrayBuffer"==c))return bt in n?Tt(d,n):Pt.call(d,n);i=n,h=St(r,e);var m=n.byteLength;if(void 0===o){if(m%e)throw W("Wrong length!");if((a=m-h)<0)throw W("Wrong length!")}else if((a=v(o)*e)+h>m)throw W("Wrong length!");u=a/e}else u=y(n),a=u*e,i=new Y(a);for(p(t,"_d",{b:i,o:h,l:a,e:u,v:new G(i)});ldocument.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},function(t,e,n){var r=n(119),o=n(79).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e,n){"use strict";var r=n(2),o=n(9),i=n(8),a=n(6)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(24),o=n(131),i=n(92),a=n(1),u=n(10),c=n(94),s={},f={},e=t.exports=function(t,e,n,l,p){var h,d,v,y,m=p?function(){return t}:c(t),g=r(n,l,e?2:1),b=0;if("function"!=typeof m)throw TypeError(t+" is not iterable!");if(i(m)){for(h=u(t.length);h>b;b++)if((y=e?g(a(d=t[b])[0],d[1]):g(t[b]))===s||y===f)return y}else for(v=m.call(t);!(d=v.next()).done;)if((y=o(v,g,d.value,e))===s||y===f)return y};e.BREAK=s,e.RETURN=f},function(t,e,n){var r=n(15);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},function(t,e,n){var r=n(9).f,o=n(17),i=n(6)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){var r=n(0),o=n(28),i=n(3),a=n(82),u="["+a+"]",c="\u200b\x85",s=RegExp("^"+u+u+"*"),f=RegExp(u+u+"*$"),l=function(t,e,n){var o={},u=i(function(){return!!a[t]()||c[t]()!=c}),s=o[t]=u?e(p):a[t];n&&(o[n]=s),r(r.P+r.F*u,"String",o)},p=l.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(s,"")),2&e&&(t=t.replace(f,"")),t};t.exports=l},function(t,e){t.exports={}},function(t,e,n){var r=n(4);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){"use strict";function t(t,e){e&&(t.prototype=Object.create(e.prototype)),t.prototype.constructor=t}function e(t){return i(t)?t:k(t)}function n(t){return a(t)?t:P(t)}function r(t){return u(t)?t:j(t)}function o(t){return i(t)&&!c(t)?t:I(t)}function i(t){return!(!t||!t[sn])}function a(t){return!(!t||!t[fn])}function u(t){return!(!t||!t[ln])}function c(t){return a(t)||u(t)}function s(t){return!(!t||!t[pn])}function f(t){return t.value=!1,t}function l(t){t&&(t.value=!0)}function p(){}function h(t,e){e=e||0;for(var n=Math.max(0,t.length-e),r=new Array(n),o=0;o>>0;if(""+n!==e||4294967295===n)return NaN;e=n}return e<0?d(t)+e:e}function y(){return!0}function m(t,e,n){return(0===t||void 0!==n&&t<=-n)&&(void 0===e||void 0!==n&&e>=n)}function g(t,e){return w(t,e,0)}function b(t,e){return w(t,e,e)}function w(t,e,n){return void 0===t?n:t<0?Math.max(0,e+t):void 0===e?t:Math.min(e,t)}function _(t){this.next=t}function x(t,e,n,r){var o=0===t?e:1===t?n:[e,n];return r?r.value=o:r={value:o,done:!1},r}function E(){return{value:void 0,done:!0}}function S(t){return!!C(t)}function A(t){return t&&"function"===typeof t.next}function O(t){var e=C(t);return e&&e.call(t)}function C(t){var e=t&&(xn&&t[xn]||t[En]);if("function"===typeof e)return e}function T(t){return t&&"number"===typeof t.length}function k(t){return null===t||void 0===t?U():i(t)?t.toSeq():z(t)}function P(t){return null===t||void 0===t?U().toKeyedSeq():i(t)?a(t)?t.toSeq():t.fromEntrySeq():F(t)}function j(t){return null===t||void 0===t?U():i(t)?a(t)?t.entrySeq():t.toIndexedSeq():B(t)}function I(t){return(null===t||void 0===t?U():i(t)?a(t)?t.entrySeq():t:B(t)).toSetSeq()}function M(t){this._array=t,this.size=t.length}function R(t){var e=Object.keys(t);this._object=t,this._keys=e,this.size=e.length}function N(t){this._iterable=t,this.size=t.length||t.size}function D(t){this._iterator=t,this._iteratorCache=[]}function L(t){return!(!t||!t[An])}function U(){return On||(On=new M([]))}function F(t){var e=Array.isArray(t)?new M(t).fromEntrySeq():A(t)?new D(t).fromEntrySeq():S(t)?new N(t).fromEntrySeq():"object"===typeof t?new R(t):void 0;if(!e)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+t);return e}function B(t){var e=q(t);if(!e)throw new TypeError("Expected Array or iterable object of values: "+t);return e}function z(t){var e=q(t)||"object"===typeof t&&new R(t);if(!e)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+t);return e}function q(t){return T(t)?new M(t):A(t)?new D(t):S(t)?new N(t):void 0}function W(t,e,n,r){var o=t._cache;if(o){for(var i=o.length-1,a=0;a<=i;a++){var u=o[n?i-a:a];if(!1===e(u[1],r?u[0]:a,t))return a+1}return a}return t.__iterateUncached(e,n)}function H(t,e,n,r){var o=t._cache;if(o){var i=o.length-1,a=0;return new _(function(){var t=o[n?i-a:a];return a++>i?E():x(e,r?t[0]:a-1,t[1])})}return t.__iteratorUncached(e,n)}function V(t,e){return e?K(e,t,"",{"":t}):Y(t)}function K(t,e,n,r){return Array.isArray(e)?t.call(r,n,j(e).map(function(n,r){return K(t,n,r,e)})):G(e)?t.call(r,n,P(e).map(function(n,r){return K(t,n,r,e)})):e}function Y(t){return Array.isArray(t)?j(t).map(Y).toList():G(t)?P(t).map(Y).toMap():t}function G(t){return t&&(t.constructor===Object||void 0===t.constructor)}function Q(t,e){if(t===e||t!==t&&e!==e)return!0;if(!t||!e)return!1;if("function"===typeof t.valueOf&&"function"===typeof e.valueOf){if(t=t.valueOf(),e=e.valueOf(),t===e||t!==t&&e!==e)return!0;if(!t||!e)return!1}return!("function"!==typeof t.equals||"function"!==typeof e.equals||!t.equals(e))}function J(t,e){if(t===e)return!0;if(!i(e)||void 0!==t.size&&void 0!==e.size&&t.size!==e.size||void 0!==t.__hash&&void 0!==e.__hash&&t.__hash!==e.__hash||a(t)!==a(e)||u(t)!==u(e)||s(t)!==s(e))return!1;if(0===t.size&&0===e.size)return!0;var n=!c(t);if(s(t)){var r=t.entries();return e.every(function(t,e){var o=r.next().value;return o&&Q(o[1],t)&&(n||Q(o[0],e))})&&r.next().done}var o=!1;if(void 0===t.size)if(void 0===e.size)"function"===typeof t.cacheResult&&t.cacheResult();else{o=!0;var f=t;t=e,e=f}var l=!0,p=e.__iterate(function(e,r){if(n?!t.has(e):o?!Q(e,t.get(r,yn)):!Q(t.get(r,yn),e))return l=!1,!1});return l&&t.size===p}function X(t,e){if(!(this instanceof X))return new X(t,e);if(this._value=t,this.size=void 0===e?1/0:Math.max(0,e),0===this.size){if(Cn)return Cn;Cn=this}}function Z(t,e){if(!t)throw new Error(e)}function $(t,e,n){if(!(this instanceof $))return new $(t,e,n);if(Z(0!==n,"Cannot step a Range by 0"),t=t||0,void 0===e&&(e=1/0),n=void 0===n?1:Math.abs(n),e>>1&1073741824|3221225471&t}function it(t){if(!1===t||null===t||void 0===t)return 0;if("function"===typeof t.valueOf&&(!1===(t=t.valueOf())||null===t||void 0===t))return 0;if(!0===t)return 1;var e=typeof t;if("number"===e){if(t!==t||t===1/0)return 0;var n=0|t;for(n!==t&&(n^=4294967295*t);t>4294967295;)t/=4294967295,n^=t;return ot(n)}if("string"===e)return t.length>Dn?at(t):ut(t);if("function"===typeof t.hashCode)return t.hashCode();if("object"===e)return ct(t);if("function"===typeof t.toString)return ut(t.toString());throw new Error("Value type "+e+" cannot be hashed.")}function at(t){var e=Fn[t];return void 0===e&&(e=ut(t),Un===Ln&&(Un=0,Fn={}),Un++,Fn[t]=e),e}function ut(t){for(var e=0,n=0;n0)switch(t.nodeType){case 1:return t.uniqueID;case 9:return t.documentElement&&t.documentElement.uniqueID}}function ft(t){Z(t!==1/0,"Cannot perform this action with an infinite size.")}function lt(t){return null===t||void 0===t?xt():pt(t)&&!s(t)?t:xt().withMutations(function(e){var r=n(t);ft(r.size),r.forEach(function(t,n){return e.set(n,t)})})}function pt(t){return!(!t||!t[Bn])}function ht(t,e){this.ownerID=t,this.entries=e}function dt(t,e,n){this.ownerID=t,this.bitmap=e,this.nodes=n}function vt(t,e,n){this.ownerID=t,this.count=e,this.nodes=n}function yt(t,e,n){this.ownerID=t,this.keyHash=e,this.entries=n}function mt(t,e,n){this.ownerID=t,this.keyHash=e,this.entry=n}function gt(t,e,n){this._type=e,this._reverse=n,this._stack=t._root&&wt(t._root)}function bt(t,e){return x(t,e[0],e[1])}function wt(t,e){return{node:t,index:0,__prev:e}}function _t(t,e,n,r){var o=Object.create(zn);return o.size=t,o._root=e,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function xt(){return qn||(qn=_t(0))}function Et(t,e,n){var r,o;if(t._root){var i=f(mn),a=f(gn);if(r=St(t._root,t.__ownerID,0,void 0,e,n,i,a),!a.value)return t;o=t.size+(i.value?n===yn?-1:1:0)}else{if(n===yn)return t;o=1,r=new ht(t.__ownerID,[[e,n]])}return t.__ownerID?(t.size=o,t._root=r,t.__hash=void 0,t.__altered=!0,t):r?_t(o,r):xt()}function St(t,e,n,r,o,i,a,u){return t?t.update(e,n,r,o,i,a,u):i===yn?t:(l(u),l(a),new mt(e,r,[o,i]))}function At(t){return t.constructor===mt||t.constructor===yt}function Ot(t,e,n,r,o){if(t.keyHash===r)return new yt(e,r,[t.entry,o]);var i,a=(0===n?t.keyHash:t.keyHash>>>n)&vn,u=(0===n?r:r>>>n)&vn;return new dt(e,1<>>=1)a[u]=1&n?e[i++]:void 0;return a[r]=o,new vt(t,i+1,a)}function Pt(t,e,r){for(var o=[],a=0;a>1&1431655765,t=(858993459&t)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,127&(t+=t>>16)}function Dt(t,e,n,r){var o=r?t:h(t);return o[e]=n,o}function Lt(t,e,n,r){var o=t.length+1;if(r&&e+1===o)return t[e]=n,t;for(var i=new Array(o),a=0,u=0;u0&&oi?0:i-n,s=a-n;return s>dn&&(s=dn),function(){if(o===s)return Qn;var t=e?--s:o++;return r&&r[t]}}function o(t,r,o){var u,c=t&&t.array,s=o>i?0:i-o>>r,f=1+(a-o>>r);return f>dn&&(f=dn),function(){for(;;){if(u){var t=u();if(t!==Qn)return t;u=null}if(s===f)return Qn;var i=e?--f:s++;u=n(c&&c[i],r-hn,o+(i<=t.size||e<0)return t.withMutations(function(t){e<0?Qt(t,e).set(0,n):Qt(t,0,e+1).set(e,n)});e+=t._origin;var r=t._tail,o=t._root,i=f(gn);return e>=Xt(t._capacity)?r=Kt(r,t.__ownerID,0,e,n,i):o=Kt(o,t.__ownerID,t._level,e,n,i),i.value?t.__ownerID?(t._root=o,t._tail=r,t.__hash=void 0,t.__altered=!0,t):Wt(t._origin,t._capacity,t._level,o,r):t}function Kt(t,e,n,r,o,i){var a=r>>>n&vn,u=t&&a0){var s=t&&t.array[a],f=Kt(s,e,n-hn,r,o,i);return f===s?t:(c=Yt(t,e),c.array[a]=f,c)}return u&&t.array[a]===o?t:(l(i),c=Yt(t,e),void 0===o&&a===c.array.length-1?c.array.pop():c.array[a]=o,c)}function Yt(t,e){return e&&t&&e===t.ownerID?t:new zt(t?t.array.slice():[],e)}function Gt(t,e){if(e>=Xt(t._capacity))return t._tail;if(e<1<0;)n=n.array[e>>>r&vn],r-=hn;return n}}function Qt(t,e,n){void 0!==e&&(e|=0),void 0!==n&&(n|=0);var r=t.__ownerID||new p,o=t._origin,i=t._capacity,a=o+e,u=void 0===n?i:n<0?i+n:o+n;if(a===o&&u===i)return t;if(a>=u)return t.clear();for(var c=t._level,s=t._root,f=0;a+f<0;)s=new zt(s&&s.array.length?[void 0,s]:[],r),c+=hn,f+=1<=1<l?new zt([],r):d;if(d&&h>l&&ahn;m-=hn){var g=l>>>m&vn;y=y.array[g]=Yt(y.array[g],r)}y.array[l>>>hn&vn]=d}if(u=h)a-=h,u-=h,c=hn,s=null,v=v&&v.removeBefore(r,0,a);else if(a>o||h>>c&vn;if(b!==h>>>c&vn)break;b&&(f+=(1<o&&(s=s.removeBefore(r,c,a-f)),s&&ha&&(a=s.size),i(c)||(s=s.map(function(t){return V(t)})),o.push(s)}return a>t.size&&(t=t.setSize(a)),Mt(t,e,o)}function Xt(t){return t>>hn<=dn&&a.size>=2*i.size?(o=a.filter(function(t,e){return void 0!==t&&u!==e}),r=o.toKeyedSeq().map(function(t){return t[0]}).flip().toMap(),t.__ownerID&&(r.__ownerID=o.__ownerID=t.__ownerID)):(r=i.remove(e),o=u===a.size-1?a.pop():a.set(u,void 0))}else if(c){if(n===a.get(u)[1])return t;r=i,o=a.set(u,[e,n])}else r=i.set(e,a.size),o=a.set(a.size,[e,n]);return t.__ownerID?(t.size=r.size,t._map=r,t._list=o,t.__hash=void 0,t):te(r,o)}function re(t,e){this._iter=t,this._useKeys=e,this.size=t.size}function oe(t){this._iter=t,this.size=t.size}function ie(t){this._iter=t,this.size=t.size}function ae(t){this._iter=t,this.size=t.size}function ue(t){var e=Te(t);return e._iter=t,e.size=t.size,e.flip=function(){return t},e.reverse=function(){var e=t.reverse.apply(this);return e.flip=function(){return t.reverse()},e},e.has=function(e){return t.includes(e)},e.includes=function(e){return t.has(e)},e.cacheResult=ke,e.__iterateUncached=function(e,n){var r=this;return t.__iterate(function(t,n){return!1!==e(n,t,r)},n)},e.__iteratorUncached=function(e,n){if(e===_n){var r=t.__iterator(e,n);return new _(function(){var t=r.next();if(!t.done){var e=t.value[0];t.value[0]=t.value[1],t.value[1]=e}return t})}return t.__iterator(e===wn?bn:wn,n)},e}function ce(t,e,n){var r=Te(t);return r.size=t.size,r.has=function(e){return t.has(e)},r.get=function(r,o){var i=t.get(r,yn);return i===yn?o:e.call(n,i,r,t)},r.__iterateUncached=function(r,o){var i=this;return t.__iterate(function(t,o,a){return!1!==r(e.call(n,t,o,a),o,i)},o)},r.__iteratorUncached=function(r,o){var i=t.__iterator(_n,o);return new _(function(){var o=i.next();if(o.done)return o;var a=o.value,u=a[0];return x(r,u,e.call(n,a[1],u,t),o)})},r}function se(t,e){var n=Te(t);return n._iter=t,n.size=t.size,n.reverse=function(){return t},t.flip&&(n.flip=function(){var e=ue(t);return e.reverse=function(){return t.flip()},e}),n.get=function(n,r){return t.get(e?n:-1-n,r)},n.has=function(n){return t.has(e?n:-1-n)},n.includes=function(e){return t.includes(e)},n.cacheResult=ke,n.__iterate=function(e,n){var r=this;return t.__iterate(function(t,n){return e(t,n,r)},!n)},n.__iterator=function(e,n){return t.__iterator(e,!n)},n}function fe(t,e,n,r){var o=Te(t);return r&&(o.has=function(r){var o=t.get(r,yn);return o!==yn&&!!e.call(n,o,r,t)},o.get=function(r,o){var i=t.get(r,yn);return i!==yn&&e.call(n,i,r,t)?i:o}),o.__iterateUncached=function(o,i){var a=this,u=0;return t.__iterate(function(t,i,c){if(e.call(n,t,i,c))return u++,o(t,r?i:u-1,a)},i),u},o.__iteratorUncached=function(o,i){var a=t.__iterator(_n,i),u=0;return new _(function(){for(;;){var i=a.next();if(i.done)return i;var c=i.value,s=c[0],f=c[1];if(e.call(n,f,s,t))return x(o,r?s:u++,f,i)}})},o}function le(t,e,n){var r=lt().asMutable();return t.__iterate(function(o,i){r.update(e.call(n,o,i,t),0,function(t){return t+1})}),r.asImmutable()}function pe(t,e,n){var r=a(t),o=(s(t)?Zt():lt()).asMutable();t.__iterate(function(i,a){o.update(e.call(n,i,a,t),function(t){return t=t||[],t.push(r?[a,i]:i),t})});var i=Ce(t);return o.map(function(e){return Se(t,i(e))})}function he(t,e,n,r){var o=t.size;if(void 0!==e&&(e|=0),void 0!==n&&(n===1/0?n=o:n|=0),m(e,n,o))return t;var i=g(e,o),a=b(n,o);if(i!==i||a!==a)return he(t.toSeq().cacheResult(),e,n,r);var u,c=a-i;c===c&&(u=c<0?0:c);var s=Te(t);return s.size=0===u?u:t.size&&u||void 0,!r&&L(t)&&u>=0&&(s.get=function(e,n){return e=v(this,e),e>=0&&eu)return E();var t=o.next();return r||e===wn?t:e===bn?x(e,c-1,void 0,t):x(e,c-1,t.value[1],t)})},s}function de(t,e,n){var r=Te(t);return r.__iterateUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterate(r,o);var a=0;return t.__iterate(function(t,o,u){return e.call(n,t,o,u)&&++a&&r(t,o,i)}),a},r.__iteratorUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterator(r,o);var a=t.__iterator(_n,o),u=!0;return new _(function(){if(!u)return E();var t=a.next();if(t.done)return t;var o=t.value,c=o[0],s=o[1];return e.call(n,s,c,i)?r===_n?t:x(r,c,s,t):(u=!1,E())})},r}function ve(t,e,n,r){var o=Te(t);return o.__iterateUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterate(o,i);var u=!0,c=0;return t.__iterate(function(t,i,s){if(!u||!(u=e.call(n,t,i,s)))return c++,o(t,r?i:c-1,a)}),c},o.__iteratorUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterator(o,i);var u=t.__iterator(_n,i),c=!0,s=0;return new _(function(){var t,i,f;do{if(t=u.next(),t.done)return r||o===wn?t:o===bn?x(o,s++,void 0,t):x(o,s++,t.value[1],t);var l=t.value;i=l[0],f=l[1],c&&(c=e.call(n,f,i,a))}while(c);return o===_n?t:x(o,i,f,t)})},o}function ye(t,e){var r=a(t),o=[t].concat(e).map(function(t){return i(t)?r&&(t=n(t)):t=r?F(t):B(Array.isArray(t)?t:[t]),t}).filter(function(t){return 0!==t.size});if(0===o.length)return t;if(1===o.length){var c=o[0];if(c===t||r&&a(c)||u(t)&&u(c))return c}var s=new M(o);return r?s=s.toKeyedSeq():u(t)||(s=s.toSetSeq()),s=s.flatten(!0),s.size=o.reduce(function(t,e){if(void 0!==t){var n=e.size;if(void 0!==n)return t+n}},0),s}function me(t,e,n){var r=Te(t);return r.__iterateUncached=function(r,o){function a(t,s){var f=this;t.__iterate(function(t,o){return(!e||s0}function Ee(t,n,r){var o=Te(t);return o.size=new M(r).map(function(t){return t.size}).min(),o.__iterate=function(t,e){for(var n,r=this.__iterator(wn,e),o=0;!(n=r.next()).done&&!1!==t(n.value,o++,this););return o},o.__iteratorUncached=function(t,o){var i=r.map(function(t){return t=e(t),O(o?t.reverse():t)}),a=0,u=!1;return new _(function(){var e;return u||(e=i.map(function(t){return t.next()}),u=e.some(function(t){return t.done})),u?E():x(t,a++,n.apply(null,e.map(function(t){return t.value})))})},o}function Se(t,e){return L(t)?e:t.constructor(e)}function Ae(t){if(t!==Object(t))throw new TypeError("Expected [K, V] tuple: "+t)}function Oe(t){return ft(t.size),d(t)}function Ce(t){return a(t)?n:u(t)?r:o}function Te(t){return Object.create((a(t)?P:u(t)?j:I).prototype)}function ke(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):k.prototype.cacheResult.call(this)}function Pe(t,e){return t>e?1:te?-1:0}function on(t){if(t.size===1/0)return 0;var e=s(t),n=a(t),r=e?1:0;return an(t.__iterate(n?e?function(t,e){r=31*r+un(it(t),it(e))|0}:function(t,e){r=r+un(it(t),it(e))|0}:e?function(t){r=31*r+it(t)|0}:function(t){r=r+it(t)|0}),r)}function an(t,e){return e=Pn(e,3432918353),e=Pn(e<<15|e>>>-15,461845907),e=Pn(e<<13|e>>>-13,5),e=(e+3864292196|0)^t,e=Pn(e^e>>>16,2246822507),e=Pn(e^e>>>13,3266489909),e=ot(e^e>>>16)}function un(t,e){return t^e+2654435769+(t<<6)+(t>>2)|0}var cn=Array.prototype.slice;t(n,e),t(r,e),t(o,e),e.isIterable=i,e.isKeyed=a,e.isIndexed=u,e.isAssociative=c,e.isOrdered=s,e.Keyed=n,e.Indexed=r,e.Set=o;var sn="@@__IMMUTABLE_ITERABLE__@@",fn="@@__IMMUTABLE_KEYED__@@",ln="@@__IMMUTABLE_INDEXED__@@",pn="@@__IMMUTABLE_ORDERED__@@",hn=5,dn=1<r?E():x(t,o,n[e?r-o++:o++])})},t(R,P),R.prototype.get=function(t,e){return void 0===e||this.has(t)?this._object[t]:e},R.prototype.has=function(t){return this._object.hasOwnProperty(t)},R.prototype.__iterate=function(t,e){for(var n=this._object,r=this._keys,o=r.length-1,i=0;i<=o;i++){var a=r[e?o-i:i];if(!1===t(n[a],a,this))return i+1}return i},R.prototype.__iterator=function(t,e){var n=this._object,r=this._keys,o=r.length-1,i=0;return new _(function(){var a=r[e?o-i:i];return i++>o?E():x(t,a,n[a])})},R.prototype[pn]=!0,t(N,j),N.prototype.__iterateUncached=function(t,e){if(e)return this.cacheResult().__iterate(t,e);var n=this._iterable,r=O(n),o=0;if(A(r))for(var i;!(i=r.next()).done&&!1!==t(i.value,o++,this););return o},N.prototype.__iteratorUncached=function(t,e){if(e)return this.cacheResult().__iterator(t,e);var n=this._iterable,r=O(n);if(!A(r))return new _(E);var o=0;return new _(function(){var e=r.next();return e.done?e:x(t,o++,e.value)})},t(D,j),D.prototype.__iterateUncached=function(t,e){if(e)return this.cacheResult().__iterate(t,e);for(var n=this._iterator,r=this._iteratorCache,o=0;o=r.length){var e=n.next();if(e.done)return e;r[o]=e.value}return x(t,o,r[o++])})};var On;t(X,j),X.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},X.prototype.get=function(t,e){return this.has(t)?this._value:e},X.prototype.includes=function(t){return Q(this._value,t)},X.prototype.slice=function(t,e){var n=this.size;return m(t,e,n)?this:new X(this._value,b(e,n)-g(t,n))},X.prototype.reverse=function(){return this},X.prototype.indexOf=function(t){return Q(this._value,t)?0:-1},X.prototype.lastIndexOf=function(t){return Q(this._value,t)?this.size:-1},X.prototype.__iterate=function(t,e){for(var n=0;n=0&&e=0&&nn?E():x(t,i++,a)})},$.prototype.equals=function(t){return t instanceof $?this._start===t._start&&this._end===t._end&&this._step===t._step:J(this,t)};var Tn;t(tt,e),t(et,tt),t(nt,tt),t(rt,tt),tt.Keyed=et,tt.Indexed=nt,tt.Set=rt;var kn,Pn="function"===typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(t,e){t|=0,e|=0;var n=65535&t,r=65535&e;return n*r+((t>>>16)*r+n*(e>>>16)<<16>>>0)|0},jn=Object.isExtensible,In=function(){try{return Object.defineProperty({},"@",{}),!0}catch(t){return!1}}(),Mn="function"===typeof WeakMap;Mn&&(kn=new WeakMap);var Rn=0,Nn="__immutablehash__";"function"===typeof Symbol&&(Nn=Symbol(Nn));var Dn=16,Ln=255,Un=0,Fn={};t(lt,et),lt.of=function(){var t=cn.call(arguments,0);return xt().withMutations(function(e){for(var n=0;n=t.length)throw new Error("Missing value for key: "+t[n]);e.set(t[n],t[n+1])}})},lt.prototype.toString=function(){return this.__toString("Map {","}")},lt.prototype.get=function(t,e){return this._root?this._root.get(0,void 0,t,e):e},lt.prototype.set=function(t,e){return Et(this,t,e)},lt.prototype.setIn=function(t,e){return this.updateIn(t,yn,function(){return e})},lt.prototype.remove=function(t){return Et(this,t,yn)},lt.prototype.deleteIn=function(t){return this.updateIn(t,function(){return yn})},lt.prototype.update=function(t,e,n){return 1===arguments.length?t(this):this.updateIn([t],e,n)},lt.prototype.updateIn=function(t,e,n){n||(n=e,e=void 0);var r=Rt(this,je(t),e,n);return r===yn?void 0:r},lt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):xt()},lt.prototype.merge=function(){return Pt(this,void 0,arguments)},lt.prototype.mergeWith=function(t){return Pt(this,t,cn.call(arguments,1))},lt.prototype.mergeIn=function(t){var e=cn.call(arguments,1);return this.updateIn(t,xt(),function(t){return"function"===typeof t.merge?t.merge.apply(t,e):e[e.length-1]})},lt.prototype.mergeDeep=function(){return Pt(this,jt,arguments)},lt.prototype.mergeDeepWith=function(t){var e=cn.call(arguments,1);return Pt(this,It(t),e)},lt.prototype.mergeDeepIn=function(t){var e=cn.call(arguments,1);return this.updateIn(t,xt(),function(t){return"function"===typeof t.mergeDeep?t.mergeDeep.apply(t,e):e[e.length-1]})},lt.prototype.sort=function(t){return Zt(we(this,t))},lt.prototype.sortBy=function(t,e){return Zt(we(this,e,t))},lt.prototype.withMutations=function(t){var e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this},lt.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new p)},lt.prototype.asImmutable=function(){return this.__ensureOwner()},lt.prototype.wasAltered=function(){return this.__altered},lt.prototype.__iterator=function(t,e){return new gt(this,t,e)},lt.prototype.__iterate=function(t,e){var n=this,r=0;return this._root&&this._root.iterate(function(e){return r++,t(e[1],e[0],n)},e),r},lt.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?_t(this.size,this._root,t,this.__hash):(this.__ownerID=t,this.__altered=!1,this)},lt.isMap=pt;var Bn="@@__IMMUTABLE_MAP__@@",zn=lt.prototype;zn[Bn]=!0,zn.delete=zn.remove,zn.removeIn=zn.deleteIn,ht.prototype.get=function(t,e,n,r){for(var o=this.entries,i=0,a=o.length;i=Wn)return Ct(t,c,r,o);var d=t&&t===this.ownerID,v=d?c:h(c);return p?u?s===f-1?v.pop():v[s]=v.pop():v[s]=[r,o]:v.push([r,o]),d?(this.entries=v,this):new ht(t,v)}},dt.prototype.get=function(t,e,n,r){void 0===e&&(e=it(n));var o=1<<((0===t?e:e>>>t)&vn),i=this.bitmap;return 0===(i&o)?r:this.nodes[Nt(i&o-1)].get(t+hn,e,n,r)},dt.prototype.update=function(t,e,n,r,o,i,a){void 0===n&&(n=it(r));var u=(0===e?n:n>>>e)&vn,c=1<=Hn)return kt(t,p,s,u,d);if(f&&!d&&2===p.length&&At(p[1^l]))return p[1^l];if(f&&d&&1===p.length&&At(d))return d;var v=t&&t===this.ownerID,y=f?d?s:s^c:s|c,m=f?d?Dt(p,l,d,v):Ut(p,l,v):Lt(p,l,d,v);return v?(this.bitmap=y,this.nodes=m,this):new dt(t,y,m)},vt.prototype.get=function(t,e,n,r){void 0===e&&(e=it(n));var o=(0===t?e:e>>>t)&vn,i=this.nodes[o];return i?i.get(t+hn,e,n,r):r},vt.prototype.update=function(t,e,n,r,o,i,a){void 0===n&&(n=it(r));var u=(0===e?n:n>>>e)&vn,c=o===yn,s=this.nodes,f=s[u];if(c&&!f)return this;var l=St(f,t,e+hn,n,r,o,i,a);if(l===f)return this;var p=this.count;if(f){if(!l&&--p=0&&t>>e&vn;if(r>=this.array.length)return new zt([],t);var o,i=0===r;if(e>0){var a=this.array[r];if((o=a&&a.removeBefore(t,e-hn,n))===a&&i)return this}if(i&&!o)return this;var u=Yt(this,t);if(!i)for(var c=0;c>>e&vn;if(r>=this.array.length)return this;var o;if(e>0){var i=this.array[r];if((o=i&&i.removeAfter(t,e-hn,n))===i&&r===this.array.length-1)return this}var a=Yt(this,t);return a.array.splice(r+1),o&&(a.array[r]=o),a};var Gn,Qn={};t(Zt,lt),Zt.of=function(){return this(arguments)},Zt.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Zt.prototype.get=function(t,e){var n=this._map.get(t);return void 0!==n?this._list.get(n)[1]:e},Zt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):ee()},Zt.prototype.set=function(t,e){return ne(this,t,e)},Zt.prototype.remove=function(t){return ne(this,t,yn)},Zt.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Zt.prototype.__iterate=function(t,e){var n=this;return this._list.__iterate(function(e){return e&&t(e[1],e[0],n)},e)},Zt.prototype.__iterator=function(t,e){return this._list.fromEntrySeq().__iterator(t,e)},Zt.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map.__ensureOwner(t),n=this._list.__ensureOwner(t);return t?te(e,n,t,this.__hash):(this.__ownerID=t,this._map=e,this._list=n,this)},Zt.isOrderedMap=$t,Zt.prototype[pn]=!0,Zt.prototype.delete=Zt.prototype.remove;var Jn;t(re,P),re.prototype.get=function(t,e){return this._iter.get(t,e)},re.prototype.has=function(t){return this._iter.has(t)},re.prototype.valueSeq=function(){return this._iter.valueSeq()},re.prototype.reverse=function(){var t=this,e=se(this,!0);return this._useKeys||(e.valueSeq=function(){return t._iter.toSeq().reverse()}),e},re.prototype.map=function(t,e){var n=this,r=ce(this,t,e);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(t,e)}),r},re.prototype.__iterate=function(t,e){var n,r=this;return this._iter.__iterate(this._useKeys?function(e,n){return t(e,n,r)}:(n=e?Oe(this):0,function(o){return t(o,e?--n:n++,r)}),e)},re.prototype.__iterator=function(t,e){if(this._useKeys)return this._iter.__iterator(t,e);var n=this._iter.__iterator(wn,e),r=e?Oe(this):0;return new _(function(){var o=n.next();return o.done?o:x(t,e?--r:r++,o.value,o)})},re.prototype[pn]=!0,t(oe,j),oe.prototype.includes=function(t){return this._iter.includes(t)},oe.prototype.__iterate=function(t,e){var n=this,r=0;return this._iter.__iterate(function(e){return t(e,r++,n)},e)},oe.prototype.__iterator=function(t,e){var n=this._iter.__iterator(wn,e),r=0;return new _(function(){var e=n.next();return e.done?e:x(t,r++,e.value,e)})},t(ie,I),ie.prototype.has=function(t){return this._iter.includes(t)},ie.prototype.__iterate=function(t,e){var n=this;return this._iter.__iterate(function(e){return t(e,e,n)},e)},ie.prototype.__iterator=function(t,e){var n=this._iter.__iterator(wn,e);return new _(function(){var e=n.next();return e.done?e:x(t,e.value,e.value,e)})},t(ae,P),ae.prototype.entrySeq=function(){return this._iter.toSeq()},ae.prototype.__iterate=function(t,e){var n=this;return this._iter.__iterate(function(e){if(e){Ae(e);var r=i(e);return t(r?e.get(1):e[1],r?e.get(0):e[0],n)}},e)},ae.prototype.__iterator=function(t,e){var n=this._iter.__iterator(wn,e);return new _(function(){for(;;){var e=n.next();if(e.done)return e;var r=e.value;if(r){Ae(r);var o=i(r);return x(t,o?r.get(0):r[0],o?r.get(1):r[1],e)}}})},oe.prototype.cacheResult=re.prototype.cacheResult=ie.prototype.cacheResult=ae.prototype.cacheResult=ke,t(Ie,et),Ie.prototype.toString=function(){return this.__toString(Re(this)+" {","}")},Ie.prototype.has=function(t){return this._defaultValues.hasOwnProperty(t)},Ie.prototype.get=function(t,e){if(!this.has(t))return e;var n=this._defaultValues[t];return this._map?this._map.get(t,n):n},Ie.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var t=this.constructor;return t._empty||(t._empty=Me(this,xt()))},Ie.prototype.set=function(t,e){if(!this.has(t))throw new Error('Cannot set unknown key "'+t+'" on '+Re(this));if(this._map&&!this._map.has(t)){if(e===this._defaultValues[t])return this}var n=this._map&&this._map.set(t,e);return this.__ownerID||n===this._map?this:Me(this,n)},Ie.prototype.remove=function(t){if(!this.has(t))return this;var e=this._map&&this._map.remove(t);return this.__ownerID||e===this._map?this:Me(this,e)},Ie.prototype.wasAltered=function(){return this._map.wasAltered()},Ie.prototype.__iterator=function(t,e){var r=this;return n(this._defaultValues).map(function(t,e){return r.get(e)}).__iterator(t,e)},Ie.prototype.__iterate=function(t,e){var r=this;return n(this._defaultValues).map(function(t,e){return r.get(e)}).__iterate(t,e)},Ie.prototype.__ensureOwner=function(t){if(t===this.__ownerID)return this;var e=this._map&&this._map.__ensureOwner(t);return t?Me(this,e,t):(this.__ownerID=t,this._map=e,this)};var Xn=Ie.prototype;Xn.delete=Xn.remove,Xn.deleteIn=Xn.removeIn=zn.removeIn,Xn.merge=zn.merge,Xn.mergeWith=zn.mergeWith,Xn.mergeIn=zn.mergeIn,Xn.mergeDeep=zn.mergeDeep,Xn.mergeDeepWith=zn.mergeDeepWith,Xn.mergeDeepIn=zn.mergeDeepIn,Xn.setIn=zn.setIn,Xn.update=zn.update,Xn.updateIn=zn.updateIn,Xn.withMutations=zn.withMutations,Xn.asMutable=zn.asMutable,Xn.asImmutable=zn.asImmutable,t(Le,rt),Le.of=function(){return this(arguments)},Le.fromKeys=function(t){return this(n(t).keySeq())},Le.prototype.toString=function(){return this.__toString("Set {","}")},Le.prototype.has=function(t){return this._map.has(t)},Le.prototype.add=function(t){return Fe(this,this._map.set(t,!0))},Le.prototype.remove=function(t){return Fe(this,this._map.remove(t))},Le.prototype.clear=function(){return Fe(this,this._map.clear())},Le.prototype.union=function(){var t=cn.call(arguments,0);return t=t.filter(function(t){return 0!==t.size}),0===t.length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations(function(e){for(var n=0;n=0;n--)e={value:arguments[n],next:e};return this.__ownerID?(this.size=t,this._head=e,this.__hash=void 0,this.__altered=!0,this):Ge(t,e)},Ke.prototype.pushAll=function(t){if(t=r(t),0===t.size)return this;ft(t.size);var e=this.size,n=this._head;return t.reverse().forEach(function(t){e++,n={value:t,next:n}}),this.__ownerID?(this.size=e,this._head=n,this.__hash=void 0,this.__altered=!0,this):Ge(e,n)},Ke.prototype.pop=function(){return this.slice(1)},Ke.prototype.unshift=function(){return this.push.apply(this,arguments)},Ke.prototype.unshiftAll=function(t){return this.pushAll(t)},Ke.prototype.shift=function(){return this.pop.apply(this,arguments)},Ke.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Qe()},Ke.prototype.slice=function(t,e){if(m(t,e,this.size))return this;var n=g(t,this.size);if(b(e,this.size)!==this.size)return nt.prototype.slice.call(this,t,e);for(var r=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=r,this._head=o,this.__hash=void 0,this.__altered=!0,this):Ge(r,o)},Ke.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Ge(this.size,this._head,t,this.__hash):(this.__ownerID=t,this.__altered=!1,this)},Ke.prototype.__iterate=function(t,e){if(e)return this.reverse().__iterate(t);for(var n=0,r=this._head;r&&!1!==t(r.value,n++,this);)r=r.next;return n},Ke.prototype.__iterator=function(t,e){if(e)return this.reverse().__iterator(t);var n=0,r=this._head;return new _(function(){if(r){var e=r.value;return r=r.next,x(t,n++,e)}return E()})},Ke.isStack=Ye;var rr="@@__IMMUTABLE_STACK__@@",or=Ke.prototype;or[rr]=!0,or.withMutations=zn.withMutations,or.asMutable=zn.asMutable,or.asImmutable=zn.asImmutable,or.wasAltered=zn.wasAltered;var ir;e.Iterator=_,Je(e,{toArray:function(){ft(this.size);var t=new Array(this.size||0);return this.valueSeq().__iterate(function(e,n){t[n]=e}),t},toIndexedSeq:function(){return new oe(this)},toJS:function(){return this.toSeq().map(function(t){return t&&"function"===typeof t.toJS?t.toJS():t}).__toJS()},toJSON:function(){return this.toSeq().map(function(t){return t&&"function"===typeof t.toJSON?t.toJSON():t}).__toJS()},toKeyedSeq:function(){return new re(this,!0)},toMap:function(){return lt(this.toKeyedSeq())},toObject:function(){ft(this.size);var t={};return this.__iterate(function(e,n){t[n]=e}),t},toOrderedMap:function(){return Zt(this.toKeyedSeq())},toOrderedSet:function(){return qe(a(this)?this.valueSeq():this)},toSet:function(){return Le(a(this)?this.valueSeq():this)},toSetSeq:function(){return new ie(this)},toSeq:function(){return u(this)?this.toIndexedSeq():a(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Ke(a(this)?this.valueSeq():this)},toList:function(){return Ft(a(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(t,e){return 0===this.size?t+e:t+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+e},concat:function(){return Se(this,ye(this,cn.call(arguments,0)))},includes:function(t){return this.some(function(e){return Q(e,t)})},entries:function(){return this.__iterator(_n)},every:function(t,e){ft(this.size);var n=!0;return this.__iterate(function(r,o,i){if(!t.call(e,r,o,i))return n=!1,!1}),n},filter:function(t,e){return Se(this,fe(this,t,e,!0))},find:function(t,e,n){var r=this.findEntry(t,e);return r?r[1]:n},forEach:function(t,e){return ft(this.size),this.__iterate(e?t.bind(e):t)},join:function(t){ft(this.size),t=void 0!==t?""+t:",";var e="",n=!0;return this.__iterate(function(r){n?n=!1:e+=t,e+=null!==r&&void 0!==r?r.toString():""}),e},keys:function(){return this.__iterator(bn)},map:function(t,e){return Se(this,ce(this,t,e))},reduce:function(t,e,n){ft(this.size);var r,o;return arguments.length<2?o=!0:r=e,this.__iterate(function(e,i,a){o?(o=!1,r=e):r=t.call(n,r,e,i,a)}),r},reduceRight:function(t,e,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return Se(this,se(this,!0))},slice:function(t,e){return Se(this,he(this,t,e,!0))},some:function(t,e){return!this.every($e(t),e)},sort:function(t){return Se(this,we(this,t))},values:function(){return this.__iterator(wn)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(t,e){return d(t?this.toSeq().filter(t,e):this)},countBy:function(t,e){return le(this,t,e)},equals:function(t){return J(this,t)},entrySeq:function(){var t=this;if(t._cache)return new M(t._cache);var e=t.toSeq().map(Ze).toIndexedSeq();return e.fromEntrySeq=function(){return t.toSeq()},e},filterNot:function(t,e){return this.filter($e(t),e)},findEntry:function(t,e,n){var r=n;return this.__iterate(function(n,o,i){if(t.call(e,n,o,i))return r=[o,n],!1}),r},findKey:function(t,e){var n=this.findEntry(t,e);return n&&n[0]},findLast:function(t,e,n){return this.toKeyedSeq().reverse().find(t,e,n)},findLastEntry:function(t,e,n){return this.toKeyedSeq().reverse().findEntry(t,e,n)},findLastKey:function(t,e){return this.toKeyedSeq().reverse().findKey(t,e)},first:function(){return this.find(y)},flatMap:function(t,e){return Se(this,ge(this,t,e))},flatten:function(t){return Se(this,me(this,t,!0))},fromEntrySeq:function(){return new ae(this)},get:function(t,e){return this.find(function(e,n){return Q(n,t)},void 0,e)},getIn:function(t,e){for(var n,r=this,o=je(t);!(n=o.next()).done;){var i=n.value;if((r=r&&r.get?r.get(i,yn):yn)===yn)return e}return r},groupBy:function(t,e){return pe(this,t,e)},has:function(t){return this.get(t,yn)!==yn},hasIn:function(t){return this.getIn(t,yn)!==yn},isSubset:function(t){return t="function"===typeof t.includes?t:e(t),this.every(function(e){return t.includes(e)})},isSuperset:function(t){return t="function"===typeof t.isSubset?t:e(t),t.isSubset(this)},keyOf:function(t){return this.findKey(function(e){return Q(e,t)})},keySeq:function(){return this.toSeq().map(Xe).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(t){return this.toKeyedSeq().reverse().keyOf(t)},max:function(t){return _e(this,t)},maxBy:function(t,e){return _e(this,e,t)},min:function(t){return _e(this,t?tn(t):rn)},minBy:function(t,e){return _e(this,e?tn(e):rn,t)},rest:function(){return this.slice(1)},skip:function(t){return this.slice(Math.max(0,t))},skipLast:function(t){return Se(this,this.toSeq().reverse().skip(t).reverse())},skipWhile:function(t,e){return Se(this,ve(this,t,e,!0))},skipUntil:function(t,e){return this.skipWhile($e(t),e)},sortBy:function(t,e){return Se(this,we(this,e,t))},take:function(t){return this.slice(0,Math.max(0,t))},takeLast:function(t){return Se(this,this.toSeq().reverse().take(t).reverse())},takeWhile:function(t,e){return Se(this,de(this,t,e))},takeUntil:function(t,e){return this.takeWhile($e(t),e)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=on(this))}});var ar=e.prototype;ar[sn]=!0,ar[Sn]=ar.values,ar.__toJS=ar.toArray,ar.__toStringMapper=en,ar.inspect=ar.toSource=function(){return this.toString()},ar.chain=ar.flatMap,ar.contains=ar.includes,Je(n,{flip:function(){return Se(this,ue(this))},mapEntries:function(t,e){var n=this,r=0;return Se(this,this.toSeq().map(function(o,i){return t.call(e,[i,o],r++,n)}).fromEntrySeq())},mapKeys:function(t,e){var n=this;return Se(this,this.toSeq().flip().map(function(r,o){return t.call(e,r,o,n)}).flip())}});var ur=n.prototype;return ur[fn]=!0,ur[Sn]=ar.entries,ur.__toJS=ar.toObject,ur.__toStringMapper=function(t,e){return JSON.stringify(e)+": "+en(t)},Je(r,{toKeyedSeq:function(){return new re(this,!1)},filter:function(t,e){return Se(this,fe(this,t,e,!1))},findIndex:function(t,e){var n=this.findEntry(t,e);return n?n[0]:-1},indexOf:function(t){var e=this.keyOf(t);return void 0===e?-1:e},lastIndexOf:function(t){var e=this.lastKeyOf(t);return void 0===e?-1:e},reverse:function(){return Se(this,se(this,!1))},slice:function(t,e){return Se(this,he(this,t,e,!1))},splice:function(t,e){var n=arguments.length;if(e=Math.max(0|e,0),0===n||2===n&&!e)return this;t=g(t,t<0?this.count():this.size);var r=this.slice(0,t);return Se(this,1===n?r:r.concat(h(arguments,2),this.slice(t+e)))},findLastIndex:function(t,e){var n=this.findLastEntry(t,e);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(t){return Se(this,me(this,t,!1))},get:function(t,e){return t=v(this,t),t<0||this.size===1/0||void 0!==this.size&&t>this.size?e:this.find(function(e,n){return n===t},void 0,e)},has:function(t){return(t=v(this,t))>=0&&(void 0!==this.size?this.size===1/0||tf;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(25);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(4),o=n(25),i=n(6)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},function(t,e,n){var r=n(6)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},function(t,e,n){"use strict";var r=n(1);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){"use strict";var r=n(14),o=n(15),i=n(3),a=n(28),u=n(6);t.exports=function(t,e,n){var c=u(t),s=n(a,c,""[t]),f=s[0],l=s[1];i(function(){var e={};return e[c]=function(){return 7},7!=""[t](e)})&&(o(String.prototype,t,f),r(RegExp.prototype,c,2==e?function(t,e){return l.call(t,this,e)}:function(t){return l.call(t,this)}))}},function(t,e,n){var r=n(1),o=n(13),i=n(6)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[i])?e:o(n)}},function(t,e,n){var r=n(2),o=r.navigator;t.exports=o&&o.userAgent||""},function(t,e,n){"use strict";var r=n(2),o=n(0),i=n(15),a=n(46),u=n(34),c=n(45),s=n(44),f=n(4),l=n(3),p=n(64),h=n(47),d=n(83);t.exports=function(t,e,n,v,y,m){var g=r[t],b=g,w=y?"set":"add",_=b&&b.prototype,x={},E=function(t){var e=_[t];i(_,t,"delete"==t?function(t){return!(m&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(m&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return m&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof b&&(m||_.forEach&&!l(function(){(new b).entries().next()}))){var S=new b,A=S[w](m?{}:-0,1)!=S,O=l(function(){S.has(1)}),C=p(function(t){new b(t)}),T=!m&&l(function(){for(var t=new b,e=5;e--;)t[w](e,e);return!t.has(-0)});C||(b=e(function(e,n){s(e,b,t);var r=d(new g,e,b);return void 0!=n&&c(n,y,r[w],r),r}),b.prototype=_,_.constructor=b),(O||T)&&(E("delete"),E("has"),y&&E("get")),(T||A)&&E(w),m&&_.clear&&delete _.clear}else b=v.getConstructor(e,t,y,w),a(b.prototype,n),u.NEED=!0;return h(b,t),x[t]=b,o(o.G+o.W+o.F*(b!=g),x),m||v.setStrong(b,t,y),b}},function(t,e,n){for(var r,o=n(2),i=n(14),a=n(38),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,p="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[p[l++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:u,VIEW:c}},function(t,e,n){"use strict";t.exports=n(35)||!n(3)(function(){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete n(2)[t]})},function(t,e,n){"use strict";var r=n(0);t.exports=function(t){r(r.S,t,{of:function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}})}},function(t,e,n){"use strict";var r=n(0),o=n(13),i=n(24),a=n(45);t.exports=function(t){r(r.S,t,{from:function(t){var e,n,r,u,c=arguments[1];return o(this),e=void 0!==c,e&&o(c),void 0==t?new this:(n=[],e?(r=0,u=i(c,arguments[2],2),a(t,!1,function(t){n.push(u(t,r++))})):a(t,!1,n.push,n),new this(n))}})}},function(t,e,n){"use strict";n.d(e,"a",function(){return u}),n.d(e,"b",function(){return c});var r=n(154),o=n(155),i=n(57),a=Object.assign||function(t){for(var e=1;e0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e,n){var r=n(29),o=n(28);t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(i=u.charCodeAt(c),i<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536)}}},function(t,e,n){"use strict";var r=n(35),o=n(0),i=n(15),a=n(14),u=n(49),c=n(89),s=n(47),f=n(20),l=n(6)("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,d,v,y,m){c(n,e,d);var g,b,w,_=function(t){if(!p&&t in A)return A[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},x=e+" Iterator",E="values"==v,S=!1,A=t.prototype,O=A[l]||A["@@iterator"]||v&&A[v],C=O||_(v),T=v?E?_("entries"):C:void 0,k="Array"==e?A.entries||O:O;if(k&&(w=f(k.call(new t)))!==Object.prototype&&w.next&&(s(w,x,!0),r||"function"==typeof w[l]||a(w,l,h)),E&&O&&"values"!==O.name&&(S=!0,C=function(){return O.call(this)}),r&&!m||!p&&!S&&A[l]||a(A,l,C),u[e]=C,u[x]=h,v)if(g={values:E?C:_("values"),keys:y?C:_("keys"),entries:T},m)for(b in g)b in A||i(A,b,g[b]);else o(o.P+o.F*(p||S),e,g);return g}},function(t,e,n){"use strict";var r=n(41),o=n(37),i=n(47),a={};n(14)(a,n(6)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(63),o=n(28);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},function(t,e,n){var r=n(6)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var r=n(49),o=n(6)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){"use strict";var r=n(9),o=n(37);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){var r=n(55),o=n(6)("iterator"),i=n(49);t.exports=n(23).getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r=n(280);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){"use strict";var r=n(11),o=n(40),i=n(10);t.exports=function(t){for(var e=r(this),n=i(e.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),c=a>2?arguments[2]:void 0,s=void 0===c?n:o(c,n);s>u;)e[u++]=t;return e}},function(t,e,n){"use strict";var r=n(36),o=n(134),i=n(49),a=n(18);t.exports=n(88)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):"keys"==e?o(0,n):"values"==e?o(0,t[n]):o(0,[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){var r,o,i,a=n(24),u=n(124),c=n(80),s=n(76),f=n(2),l=f.process,p=f.setImmediate,h=f.clearImmediate,d=f.MessageChannel,v=f.Dispatch,y=0,m={},g=function(){var t=+this;if(m.hasOwnProperty(t)){var e=m[t];delete m[t],e()}},b=function(t){g.call(t.data)};p&&h||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return m[++y]=function(){u("function"==typeof t?t:Function(t),e)},r(y),y},h=function(t){delete m[t]},"process"==n(25)(l)?r=function(t){l.nextTick(a(g,t,1))}:v&&v.now?r=function(t){v.now(a(g,t,1))}:d?(o=new d,i=o.port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",b,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),g.call(t)}}:function(t){setTimeout(a(g,t,1),0)}),t.exports={set:p,clear:h}},function(t,e,n){var r=n(2),o=n(98).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(25)(a);t.exports=function(){var t,e,n,s=function(){var r,o;for(c&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(s)}}else n=function(){o.call(r,s)};else{var l=!0,p=document.createTextNode("");new i(s).observe(p,{characterData:!0}),n=function(){p.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){"use strict";function r(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=o(e),this.reject=o(n)}var o=n(13);t.exports.f=function(t){return new r(t)}},function(t,e,n){"use strict";function r(t,e,n){var r,o,i,a=new Array(n),u=8*n-e-1,c=(1<>1,f=23===e?U(2,-24)-U(2,-77):0,l=0,p=t<0||0===t&&1/t<0?1:0;for(t=L(t),t!=t||t===N?(o=t!=t?1:0,r=c):(r=F(B(t)/z),t*(i=U(2,-r))<1&&(r--,i*=2),t+=r+s>=1?f/i:f*U(2,1-s),t*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*U(2,e),r+=s):(o=t*U(2,s-1)*U(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*p,a}function o(t,e,n){var r,o=8*n-e-1,i=(1<>1,u=o-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;u>0;f=256*f+t[c],c--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:s?-N:N;r+=U(2,e),f-=a}return(s?-1:1)*r*U(2,f-e)}function i(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function a(t){return[255&t]}function u(t){return[255&t,t>>8&255]}function c(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function s(t){return r(t,52,8)}function f(t){return r(t,23,4)}function l(t,e,n){O(t[k],e,{get:function(){return this[n]}})}function p(t,e,n,r){var o=+n,i=S(o);if(i+e>t[W])throw R(P);var a=t[q]._b,u=i+t[H],c=a.slice(u,u+e);return r?c:c.reverse()}function h(t,e,n,r,o,i){var a=+n,u=S(a);if(u+e>t[W])throw R(P);for(var c=t[q]._b,s=u+t[H],f=r(+o),l=0;lG;)(V=Y[G++])in j||g(j,V,D[V]);y||(K.constructor=j)}var Q=new I(new j(2)),J=I[k].setInt8;Q.setInt8(0,2147483648),Q.setInt8(1,2147483649),!Q.getInt8(0)&&Q.getInt8(1)||b(I[k],{setInt8:function(t,e){J.call(this,t,e<<24>>24)},setUint8:function(t,e){J.call(this,t,e<<24>>24)}},!0)}else j=function(t){_(this,j,"ArrayBuffer");var e=S(t);this._b=C.call(new Array(e),0),this[W]=e},I=function(t,e,n){_(this,I,"DataView"),_(t,j,"DataView");var r=t[W],o=x(e);if(o<0||o>r)throw R("Wrong offset!");if(n=void 0===n?r-o:E(n),o+n>r)throw R("Wrong length!");this[q]=t,this[H]=o,this[W]=n},v&&(l(j,"byteLength","_l"),l(I,"buffer","_b"),l(I,"byteLength","_l"),l(I,"byteOffset","_o")),b(I[k],{getInt8:function(t){return p(this,1,t)[0]<<24>>24},getUint8:function(t){return p(this,1,t)[0]},getInt16:function(t){var e=p(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=p(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return i(p(this,4,t,arguments[1]))},getUint32:function(t){return i(p(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return o(p(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return o(p(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){h(this,1,t,a,e)},setUint8:function(t,e){h(this,1,t,a,e)},setInt16:function(t,e){h(this,2,t,u,e,arguments[2])},setUint16:function(t,e){h(this,2,t,u,e,arguments[2])},setInt32:function(t,e){h(this,4,t,c,e,arguments[2])},setUint32:function(t,e){h(this,4,t,c,e,arguments[2])},setFloat32:function(t,e){h(this,4,t,f,e,arguments[2])},setFloat64:function(t,e){h(this,8,t,s,e,arguments[2])}});T(j,"ArrayBuffer"),T(I,"DataView"),g(I[k],m.VIEW,!0),e.ArrayBuffer=j,e.DataView=I},function(t,e,n){"use strict";function r(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(t){r[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,u,c=r(t),s=1;s may have only one child element"),this.unlisten=r.listen(function(){t.setState({match:t.computeMatch(r.location.pathname)})})},e.prototype.componentWillReceiveProps=function(t){u()(this.props.history===t.history,"You cannot change ")},e.prototype.componentWillUnmount=function(){this.unlisten()},e.prototype.render=function(){var t=this.props.children;return t?l.a.Children.only(t):null},e}(l.a.Component);v.propTypes={history:h.a.object.isRequired,children:h.a.node},v.contextTypes={router:h.a.object},v.childContextTypes={router:h.a.object.isRequired},e.a=v},function(t,e,n){"use strict";var r=n(415),o=n.n(r),i={},a=0,u=function(t,e){var n=""+e.end+e.strict+e.sensitive,r=i[n]||(i[n]={});if(r[t])return r[t];var u=[],c=o()(t,u,e),s={re:c,keys:u};return a<1e4&&(r[t]=s,a++),s},c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"===typeof e&&(e={path:e});var n=e,r=n.path,o=void 0===r?"/":r,i=n.exact,a=void 0!==i&&i,c=n.strict,s=void 0!==c&&c,f=n.sensitive,l=void 0!==f&&f,p=u(o,{end:a,strict:s,sensitive:l}),h=p.re,d=p.keys,v=h.exec(t);if(!v)return null;var y=v[0],m=v.slice(1),g=t===y;return a&&!g?null:{path:o,url:"/"===o&&""===y?"/":y,isExact:g,params:d.reduce(function(t,e,n){return t[e.name]=m[n],t},{})}};e.a=c},function(t,e,n){"use strict";var r=n(12),o=n.n(r),i=function(){var t=null,e=function(e){return o()(null==t,"A history supports only one prompt at a time"),t=e,function(){t===e&&(t=null)}},n=function(e,n,r,i){if(null!=t){var a="function"===typeof t?t(e,n):t;"string"===typeof a?"function"===typeof r?r(a,i):(o()(!1,"A history needs a getUserConfirmation function in order to use a prompt message"),i(!0)):i(!1!==a)}else i(!0)},r=[];return{setPrompt:e,confirmTransitionTo:n,appendListener:function(t){var e=!0,n=function(){e&&t.apply(void 0,arguments)};return r.push(n),function(){e=!1,r=r.filter(function(t){return t!==n})}},notifyListeners:function(){for(var t=arguments.length,e=Array(t),n=0;n=200&&t<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},o.forEach(["delete","get","head"],function(t){u.headers[t]={}}),o.forEach(["post","put","patch"],function(t){u.headers[t]=o.merge(a)}),t.exports=u}).call(e,n(464))},function(t,e,n){"use strict";function r(t){return function(){var e=t.apply(this,arguments);return new Promise(function(t,n){function r(o,i){try{var a=e[o](i),u=a.value}catch(t){return void n(t)}if(!a.done)return Promise.resolve(u).then(function(t){r("next",t)},function(t){r("throw",t)});t(u)}return r("next")})}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function a(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u=n(58),c=n.n(u),s=n(459),f=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};return c.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.axios("post","//elm.cangdu.org/v1/addimg/shop",r);case 3:if(!(e=t.sent)||1!==e.status){t.next=8;break}return t.abrupt("return",e);case 8:throw n={tip:"\u4e0a\u4f20\u56fe\u7247\u5931\u8d25",response:e,data:r,url:"//elm.cangdu.org/v1/addimg/shop"};case 10:t.next=15;break;case 12:throw t.prev=12,t.t0=t.catch(0),t.t0;case 15:case"end":return t.stop()}},t,this,[[0,12]])}));return t}()},{key:"getRecord",value:function(){function t(){return e.apply(this,arguments)}var e=r(c.a.mark(function t(){var e,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.axios("get","/shopro/data/record/"+r.type);case 3:if(!((e=t.sent)&&e.data instanceof Object&&200===e.http_code)){t.next=8;break}return t.abrupt("return",e.data);case 8:throw n={tip:"\u83b7\u53d6\u8bb0\u5f55\u6570\u636e\u5931\u8d25",response:e,data:r,url:"https://api.cangdu.org/shopro/data/record"};case 10:t.next=15;break;case 12:throw t.prev=12,t.t0=t.catch(0),t.t0;case 15:case"end":return t.stop()}},t,this,[[0,12]])}));return t}()},{key:"getProduction",value:function(){function t(){return e.apply(this,arguments)}var e=r(c.a.mark(function t(){var e,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.axios("get","/shopro/data/products",r);case 3:if(!((e=t.sent)&&e.data instanceof Object&&200===e.http_code)){t.next=8;break}return t.abrupt("return",e.data.data||[]);case 8:throw n={tip:"\u83b7\u53d6\u5546\u54c1\u6570\u636e\u5931\u8d25",response:e,data:r,url:"https://api.cangdu.org/shopro/data/products"};case 10:t.next=15;break;case 12:throw t.prev=12,t.t0=t.catch(0),t.t0;case 15:case"end":return t.stop()}},t,this,[[0,12]])}));return t}()},{key:"getBalance",value:function(){function t(){return e.apply(this,arguments)}var e=r(c.a.mark(function t(){var e,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.axios("get","/shopro/data/balance",r);case 3:if(!((e=t.sent)&&e.data instanceof Object&&200===e.http_code)){t.next=8;break}return t.abrupt("return",e.data.data||{});case 8:throw n={tip:"\u83b7\u53d6\u4f63\u91d1\u6570\u636e\u5931\u8d25",response:e,data:r,url:"https://api.cangdu.org/shopro/data/balance"};case 10:t.next=15;break;case 12:throw t.prev=12,t.t0=t.catch(0),t.t0;case 15:case"end":return t.stop()}},t,this,[[0,12]])}));return t}()}]),e}(s.a);e.a=new l},function(t,e,n){"use strict";var r=n(436),o=(n(163),n(438));n.d(e,"a",function(){return r.a}),n.d(e,"b",function(){return o.a})},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function i(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,"a",function(){return v});var a,u,c=n(5),s=n.n(c),f=n(7),l=n.n(f),p=n(51),h=(n.n(p),n(495)),d=(n.n(h),function(){function t(t,e){for(var n=0;nc;)r(u,n=e[c++])&&(~i(s,n)||s.push(n));return s}},function(t,e,n){var r=n(9),o=n(1),i=n(39);t.exports=n(8)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(18),o=n(42).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return o(t)}catch(t){return a.slice()}};t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?u(t):o(r(t))}},function(t,e,n){"use strict";var r=n(39),o=n(61),i=n(54),a=n(11),u=n(53),c=Object.assign;t.exports=!c||n(3)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=o.f,l=i.f;c>s;)for(var p,h=u(arguments[s++]),d=f?r(h).concat(f(h)):r(h),v=d.length,y=0;v>y;)l.call(h,p=d[y++])&&(n[p]=h[p]);return n}:c},function(t,e,n){"use strict";var r=n(13),o=n(4),i=n(124),a=[].slice,u={},c=function(t,e,n){if(!(e in u)){for(var r=[],o=0;o>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(2).parseFloat,o=n(48).trim;t.exports=1/r(n(82)+"-0")!==-1/0?function(t){var e=o(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(25);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(4),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var r=n(85),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126),s=function(t){return t+1/i-1/i};t.exports=Math.fround||function(t){var e,n,o=Math.abs(t),f=r(t);return ou||n!=n?f*(1/0):f*n)}},function(t,e,n){var r=n(1);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},function(t,e,n){var r=n(13),o=n(11),i=n(53),a=n(10);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),p=c?l-1:0,h=c?-1:1;if(n<2)for(;;){if(p in f){u=f[p],p+=h;break}if(p+=h,c?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;c?p>=0:l>p;p+=h)p in f&&(u=e(u,f[p],p,s));return u}},function(t,e,n){"use strict";var r=n(11),o=n(40),i=n(10);t.exports=[].copyWithin||function(t,e){var n=r(this),a=i(n.length),u=o(t,a),c=o(e,a),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?a:o(s,a))-c,a-u),l=1;for(c0;)c in n?n[u]=n[c]:delete n[u],u+=l,c+=l;return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){n(8)&&"g"!=/./g.flags&&n(9).f(RegExp.prototype,"flags",{configurable:!0,get:n(65)})},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var r=n(1),o=n(4),i=n(100);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){"use strict";var r=n(139),o=n(50);t.exports=n(69)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(9).f,o=n(41),i=n(46),a=n(24),u=n(44),c=n(45),s=n(88),f=n(134),l=n(43),p=n(8),h=n(34).fastKey,d=n(50),v=p?"_s":"size",y=function(t,e){var n,r=h(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,s){var f=t(function(t,r){u(t,f,e,"_i"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[v]=0,void 0!=r&&c(r,n,t[s],t)});return i(f.prototype,{clear:function(){for(var t=d(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[v]=0},delete:function(t){var n=d(this,e),r=y(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[v]--}return!!r},forEach:function(t){d(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(d(this,e),t)}}),p&&r(f.prototype,"size",{get:function(){return d(this,e)[v]}}),f},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=h(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[v]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,e,n){s(t,e,function(t,n){this._t=d(t,e),this._k=n,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?f(0,n.k):"values"==e?f(0,n.v):f(0,[n.k,n.v]):(t._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){"use strict";var r=n(139),o=n(50);t.exports=n(69)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,o=n(31)(0),i=n(15),a=n(34),u=n(122),c=n(142),s=n(4),f=n(3),l=n(50),p=a.getWeak,h=Object.isExtensible,d=c.ufstore,v={},y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},m={get:function(t){if(s(t)){var e=p(t);return!0===e?d(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(l(this,"WeakMap"),t,e)}},g=t.exports=n(69)("WeakMap",y,m,c,!0,!0);f(function(){return 7!=(new g).set((Object.freeze||Object)(v),7).get(v)})&&(r=c.getConstructor(y,"WeakMap"),u(r.prototype,m),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=g.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!h(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)})}))},function(t,e,n){"use strict";var r=n(46),o=n(34).getWeak,i=n(1),a=n(4),u=n(44),c=n(45),s=n(31),f=n(17),l=n(50),p=s(5),h=s(6),d=0,v=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},m=function(t,e){return p(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=m(this,t);if(e)return e[1]},has:function(t){return!!m(this,t)},set:function(t,e){var n=m(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=h(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var s=t(function(t,r){u(t,s,e,"_i"),t._t=e,t._i=d++,t._l=void 0,void 0!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?v(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?v(l(this,e)).has(t):n&&f(n,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?v(t).set(e,n):r[t._i]=n,t},ufstore:v}},function(t,e,n){var r=n(29),o=n(10);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){var r=n(42),o=n(61),i=n(1),a=n(2).Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},function(t,e,n){"use strict";function r(t,e,n,s,f,l,p,h){for(var d,v,y=f,m=0,g=!!p&&u(p,h,3);m0)y=r(t,e,d,a(d.length),y,l-1)-1;else{if(y>=9007199254740991)throw TypeError();t[y]=d}y++}m++}return y}var o=n(62),i=n(4),a=n(10),u=n(24),c=n(6)("isConcatSpreadable");t.exports=r},function(t,e,n){var r=n(10),o=n(84),i=n(28);t.exports=function(t,e,n,a){var u=String(i(t)),c=u.length,s=void 0===n?" ":String(n),f=r(e);if(f<=c||""==s)return u;var l=f-c,p=o.call(s,Math.ceil(l/s.length));return p.length>l&&(p=p.slice(0,l)),a?p+u:u+p}},function(t,e,n){var r=n(39),o=n(18),i=n(54).f;t.exports=function(t){return function(e){for(var n,a=o(e),u=r(a),c=u.length,s=0,f=[];c>s;)i.call(a,n=u[s++])&&f.push(t?[n,a[n]]:a[n]);return f}}},function(t,e,n){var r=n(55),o=n(149);t.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");return o(this)}}},function(t,e,n){var r=n(45);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},function(t,e){t.exports=Math.scale||function(t,e,n,r,o){return 0===arguments.length||t!=t||e!=e||n!=n||r!=r||o!=o?NaN:t===1/0||t===-1/0?t:(t-e)*(o-r)/(n-e)+r}},function(t,e,n){"use strict";function r(){}function o(t){try{return t.then}catch(t){return m=t,g}}function i(t,e){try{return t(e)}catch(t){return m=t,g}}function a(t,e,n){try{t(e,n)}catch(t){return m=t,g}}function u(t){if("object"!==typeof this)throw new TypeError("Promises must be constructed via new");if("function"!==typeof t)throw new TypeError("Promise constructor's argument is not a function");this._75=0,this._83=0,this._18=null,this._38=null,t!==r&&v(t,this)}function c(t,e,n){return new t.constructor(function(o,i){var a=new u(r);a.then(o,i),s(t,new d(e,n,a))})}function s(t,e){for(;3===t._83;)t=t._18;if(u._47&&u._47(t),0===t._83)return 0===t._75?(t._75=1,void(t._38=e)):1===t._75?(t._75=2,void(t._38=[t._38,e])):void t._38.push(e);f(t,e)}function f(t,e){y(function(){var n=1===t._83?e.onFulfilled:e.onRejected;if(null===n)return void(1===t._83?l(e.promise,t._18):p(e.promise,t._18));var r=i(n,t._18);r===g?p(e.promise,m):l(e.promise,r)})}function l(t,e){if(e===t)return p(t,new TypeError("A promise cannot be resolved with itself."));if(e&&("object"===typeof e||"function"===typeof e)){var n=o(e);if(n===g)return p(t,m);if(n===t.then&&e instanceof u)return t._83=3,t._18=e,void h(t);if("function"===typeof n)return void v(n.bind(e),t)}t._83=1,t._18=e,h(t)}function p(t,e){t._83=2,t._18=e,u._71&&u._71(t,e),h(t)}function h(t){if(1===t._75&&(s(t,t._38),t._38=null),2===t._75){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:"",n=t&&t.split("/")||[],i=e&&e.split("/")||[],a=t&&r(t),u=e&&r(e),c=a||u;if(t&&r(t)?i=n:n.length&&(i.pop(),i=i.concat(n)),!i.length)return"/";var s=void 0;if(i.length){var f=i[i.length-1];s="."===f||".."===f||""===f}else s=!1;for(var l=0,p=i.length;p>=0;p--){var h=i[p];"."===h?o(i,p):".."===h?(o(i,p),l++):l&&(o(i,p),l--)}if(!c)for(;l--;l)i.unshift("..");!c||""===i[0]||i[0]&&r(i[0])||i.unshift("");var d=i.join("/");return s&&"/"!==d.substr(-1)&&(d+="/"),d}Object.defineProperty(e,"__esModule",{value:!0}),e.default=i},function(t,e,n){"use strict";function r(t,e){if(t===e)return!0;if(null==t||null==e)return!1;if(Array.isArray(t))return Array.isArray(e)&&t.length===e.length&&t.every(function(t,n){return r(t,e[n])});var n="undefined"===typeof t?"undefined":o(t);if(n!==("undefined"===typeof e?"undefined":o(e)))return!1;if("object"===n){var i=t.valueOf(),a=e.valueOf();if(i!==t||a!==e)return r(i,a);var u=Object.keys(t),c=Object.keys(e);return u.length===c.length&&u.every(function(n){return r(t[n],e[n])})}return!1}Object.defineProperty(e,"__esModule",{value:!0});var o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.default=r},function(t,e,n){"use strict";e.__esModule=!0;e.canUseDOM=!("undefined"===typeof window||!window.document||!window.document.createElement),e.addEventListener=function(t,e,n){return t.addEventListener?t.addEventListener(e,n,!1):t.attachEvent("on"+e,n)},e.removeEventListener=function(t,e,n){return t.removeEventListener?t.removeEventListener(e,n,!1):t.detachEvent("on"+e,n)},e.getConfirmation=function(t,e){return e(window.confirm(t))},e.supportsHistory=function(){var t=window.navigator.userAgent;return(-1===t.indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)},e.supportsPopStateOnHashChange=function(){return-1===window.navigator.userAgent.indexOf("Trident")},e.supportsGoWithoutReloadUsingHash=function(){return-1===window.navigator.userAgent.indexOf("Firefox")},e.isExtraneousPopstateEvent=function(t){return void 0===t.state&&-1===navigator.userAgent.indexOf("CriOS")}},function(t,e,n){"use strict";function r(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function a(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u=n(5),c=n.n(u),s=n(7),f=n.n(s),l=n(21),p=n.n(l),h=Object.assign||function(t){for(var e=1;e outside a ");var i=this.context.router.history.createHref("string"===typeof e?{pathname:e}:e);return c.a.createElement("a",h({},o,{onClick:this.handleClick,href:i,ref:n}))},e}(c.a.Component);v.propTypes={onClick:f.a.func,target:f.a.string,replace:f.a.bool,to:f.a.oneOfType([f.a.string,f.a.object]).isRequired,innerRef:f.a.oneOfType([f.a.string,f.a.func])},v.defaultProps={replace:!1},v.contextTypes={router:f.a.shape({history:f.a.shape({push:f.a.func.isRequired,replace:f.a.func.isRequired,createHref:f.a.func.isRequired}).isRequired}).isRequired},e.a=v},function(t,e,n){"use strict";var r=n(159);e.a=r.a},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function i(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=n(12),u=n.n(a),c=n(21),s=n.n(c),f=n(5),l=n.n(f),p=n(7),h=n.n(p),d=n(109),v=Object.assign||function(t){for(var e=1;e or withRouter() outside a ");var c=e.route,f=(r||c.location).pathname;return o?Object(d.a)(f,{path:o,strict:i,exact:a,sensitive:u}):c.match},e.prototype.componentWillMount=function(){u()(!(this.props.component&&this.props.render),"You should not use and in the same route; will be ignored"),u()(!(this.props.component&&this.props.children&&!y(this.props.children)),"You should not use and in the same route; will be ignored"),u()(!(this.props.render&&this.props.children&&!y(this.props.children)),"You should not use and in the same route; will be ignored")},e.prototype.componentWillReceiveProps=function(t,e){u()(!(t.location&&!this.props.location),' elements should not change from uncontrolled to controlled (or vice versa). You initially used no "location" prop and then provided one on a subsequent render.'),u()(!(!t.location&&this.props.location),' elements should not change from controlled to uncontrolled (or vice versa). You provided a "location" prop initially but omitted it on a subsequent render.'),this.setState({match:this.computeMatch(t,e.router)})},e.prototype.render=function(){var t=this.state.match,e=this.props,n=e.children,r=e.component,o=e.render,i=this.context.router,a=i.history,u=i.route,c=i.staticContext,s=this.props.location||u.location,f={match:t,location:s,history:a,staticContext:c};return r?t?l.a.createElement(r,f):null:o?t?o(f):null:n?"function"===typeof n?n(f):y(n)?null:l.a.Children.only(n):null},e}(l.a.Component);m.propTypes={computedMatch:h.a.object,path:h.a.string,exact:h.a.bool,strict:h.a.bool,sensitive:h.a.bool,component:h.a.func,render:h.a.func,children:h.a.oneOfType([h.a.func,h.a.node]),location:h.a.object},m.contextTypes={router:h.a.shape({history:h.a.object.isRequired,route:h.a.object.isRequired,staticContext:h.a.object})},m.childContextTypes={router:h.a.object.isRequired},e.a=m},function(t,e,n){"use strict";n.d(e,"b",function(){return r}),n.d(e,"a",function(){return o}),n.d(e,"e",function(){return i}),n.d(e,"c",function(){return a}),n.d(e,"g",function(){return u}),n.d(e,"h",function(){return c}),n.d(e,"f",function(){return s}),n.d(e,"d",function(){return f});var r=!("undefined"===typeof window||!window.document||!window.document.createElement),o=function(t,e,n){return t.addEventListener?t.addEventListener(e,n,!1):t.attachEvent("on"+e,n)},i=function(t,e,n){return t.removeEventListener?t.removeEventListener(e,n,!1):t.detachEvent("on"+e,n)},a=function(t,e){return e(window.confirm(t))},u=function(){var t=window.navigator.userAgent;return(-1===t.indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)},c=function(){return-1===window.navigator.userAgent.indexOf("Trident")},s=function(){return-1===window.navigator.userAgent.indexOf("Firefox")},f=function(t){return void 0===t.state&&-1===navigator.userAgent.indexOf("CriOS")}},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){"use strict";var t={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},e={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},n=Object.defineProperty,r=Object.getOwnPropertyNames,o=Object.getOwnPropertySymbols,i=Object.getOwnPropertyDescriptor,a=Object.getPrototypeOf,u=a&&a(Object);return function c(s,f,l){if("string"!==typeof f){if(u){var p=a(f);p&&p!==u&&c(s,p,l)}var h=r(f);o&&(h=h.concat(o(f)));for(var d=0;d=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}function u(){}function c(t,e){var n={run:function(r){try{var o=t(e.getState(),r);(o!==n.props||n.error)&&(n.shouldComponentUpdate=!0,n.props=o,n.error=null)}catch(t){n.shouldComponentUpdate=!0,n.error=t}}};return n}function s(t){var e,n,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=s.getDisplayName,p=void 0===f?function(t){return"ConnectAdvanced("+t+")"}:f,w=s.methodName,_=void 0===w?"connectAdvanced":w,x=s.renderCountProp,E=void 0===x?void 0:x,S=s.shouldHandleStateChanges,A=void 0===S||S,O=s.storeKey,C=void 0===O?"store":O,T=s.withRef,k=void 0!==T&&T,P=a(s,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef"]),j=C+"Subscription",I=g++,M=(e={},e[C]=y.a,e[j]=y.b,e),R=(n={},n[j]=y.b,n);return function(e){h()("function"==typeof e,"You must pass a component to the function returned by "+_+". Instead received "+JSON.stringify(e));var n=e.displayName||e.name||"Component",a=p(n),s=m({},P,{getDisplayName:p,methodName:_,renderCountProp:E,shouldHandleStateChanges:A,storeKey:C,withRef:k,displayName:a,wrappedComponentName:n,WrappedComponent:e}),f=function(n){function f(t,e){r(this,f);var i=o(this,n.call(this,t,e));return i.version=I,i.state={},i.renderCount=0,i.store=t[C]||e[C],i.propsMode=Boolean(t[C]),i.setWrappedInstance=i.setWrappedInstance.bind(i),h()(i.store,'Could not find "'+C+'" in either the context or props of "'+a+'". Either wrap the root component in a , or explicitly pass "'+C+'" as a prop to "'+a+'".'),i.initSelector(),i.initSubscription(),i}return i(f,n),f.prototype.getChildContext=function(){var t,e=this.propsMode?null:this.subscription;return t={},t[j]=e||this.context[j],t},f.prototype.componentDidMount=function(){A&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},f.prototype.componentWillReceiveProps=function(t){this.selector.run(t)},f.prototype.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},f.prototype.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=u,this.store=null,this.selector.run=u,this.selector.shouldComponentUpdate=!1},f.prototype.getWrappedInstance=function(){return h()(k,"To access the wrapped instance, you need to specify { withRef: true } in the options argument of the "+_+"() call."),this.wrappedInstance},f.prototype.setWrappedInstance=function(t){this.wrappedInstance=t},f.prototype.initSelector=function(){var e=t(this.store.dispatch,s);this.selector=c(e,this.store),this.selector.run(this.props)},f.prototype.initSubscription=function(){if(A){var t=(this.propsMode?this.props:this.context)[j];this.subscription=new v.a(this.store,t,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},f.prototype.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(b)):this.notifyNestedSubs()},f.prototype.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},f.prototype.isSubscribed=function(){return Boolean(this.subscription)&&this.subscription.isSubscribed()},f.prototype.addExtraProps=function(t){if(!k&&!E&&(!this.propsMode||!this.subscription))return t;var e=m({},t);return k&&(e.ref=this.setWrappedInstance),E&&(e[E]=this.renderCount++),this.propsMode&&this.subscription&&(e[j]=this.subscription),e},f.prototype.render=function(){var t=this.selector;if(t.shouldComponentUpdate=!1,t.error)throw t.error;return Object(d.createElement)(e,this.addExtraProps(t.props))},f}(d.Component);return f.WrappedComponent=e,f.displayName=a,f.childContextTypes=R,f.contextTypes=M,f.propTypes=M,l()(f,e)}}e.a=s;var f=n(161),l=n.n(f),p=n(21),h=n.n(p),d=n(5),v=(n.n(d),n(437)),y=n(162),m=Object.assign||function(t){for(var e=1;eo;)Y(t,n=r[o++],e[n]);return t},Q=function(t,e){return void 0===e?E(t):G(E(t),e)},J=function(t){var e=D.call(this,t=_(t,!0));return!(this===B&&o(U,t)&&!o(F,t))&&(!(e||!o(this,t)||!o(U,t)||o(this,R)&&this[R][t])||e)},X=function(t,e){if(t=w(t),e=_(e,!0),t!==B||!o(U,e)||o(F,e)){var n=T(t,e);return!n||!o(U,e)||o(t,R)&&t[R][e]||(n.enumerable=!0),n}},Z=function(t){for(var e,n=P(w(t)),r=[],i=0;n.length>i;)o(U,e=n[i++])||e==R||e==c||r.push(e);return r},$=function(t){for(var e,n=t===B,r=P(n?F:w(t)),i=[],a=0;r.length>a;)!o(U,e=r[a++])||n&&!o(B,e)||i.push(U[e]);return i};z||(j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===B&&e.call(F,n),o(this,R)&&o(this[R],t)&&(this[R][t]=!1),H(this,t,x(1,n))};return i&&W&&H(B,t,{configurable:!0,set:e}),V(t)},u(j.prototype,"toString",function(){return this._k}),A.f=X,O.f=Y,n(42).f=S.f=Z,n(54).f=J,n(61).f=$,i&&!n(35)&&u(B,"propertyIsEnumerable",J,!0),d.f=function(t){return V(h(t))}),a(a.G+a.W+a.F*!z,{Symbol:j});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)h(tt[et++]);for(var nt=C(h.store),rt=0;nt.length>rt;)v(nt[rt++]);a(a.S+a.F*!z,"Symbol",{for:function(t){return o(L,t+="")?L[t]:L[t]=j(t)},keyFor:function(t){if(!K(t))throw TypeError(t+" is not a symbol!");for(var e in L)if(L[e]===t)return e},useSetter:function(){W=!0},useSimple:function(){W=!1}}),a(a.S+a.F*!z,"Object",{create:Q,defineProperty:Y,defineProperties:G,getOwnPropertyDescriptor:X,getOwnPropertyNames:Z,getOwnPropertySymbols:$}),I&&a(a.S+a.F*(!z||s(function(){var t=j();return"[null]"!=M([t])||"{}"!=M({a:t})||"{}"!=M(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(b(e)||void 0!==t)&&!K(t))return m(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!K(e))return e}),r[1]=e,M.apply(I,r)}}),j.prototype[N]||n(14)(j.prototype,N,j.prototype.valueOf),l(j,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(39),o=n(61),i=n(54);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),c=i.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){var r=n(0);r(r.S,"Object",{create:n(41)})},function(t,e,n){var r=n(0);r(r.S+r.F*!n(8),"Object",{defineProperty:n(9).f})},function(t,e,n){var r=n(0);r(r.S+r.F*!n(8),"Object",{defineProperties:n(120)})},function(t,e,n){var r=n(18),o=n(19).f;n(30)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(11),o=n(20);n(30)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(11),o=n(39);n(30)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){n(30)("getOwnPropertyNames",function(){return n(121).f})},function(t,e,n){var r=n(4),o=n(34).onFreeze;n(30)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(4),o=n(34).onFreeze;n(30)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(4),o=n(34).onFreeze;n(30)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(4);n(30)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(4);n(30)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(4);n(30)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(0);r(r.S+r.F,"Object",{assign:n(122)})},function(t,e,n){var r=n(0);r(r.S,"Object",{is:n(207)})},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},function(t,e,n){var r=n(0);r(r.S,"Object",{setPrototypeOf:n(81).set})},function(t,e,n){"use strict";var r=n(55),o={};o[n(6)("toStringTag")]="z",o+""!="[object z]"&&n(15)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(0);r(r.P,"Function",{bind:n(123)})},function(t,e,n){var r=n(9).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(8)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){"use strict";var r=n(4),o=n(20),i=n(6)("hasInstance"),a=Function.prototype;i in a||n(9).f(a,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var r=n(0),o=n(125);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){var r=n(0),o=n(126);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){"use strict";var r=n(2),o=n(17),i=n(25),a=n(83),u=n(27),c=n(3),s=n(42).f,f=n(19).f,l=n(9).f,p=n(48).trim,h=r.Number,d=h,v=h.prototype,y="Number"==i(n(41)(v)),m="trim"in String.prototype,g=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){e=m?e.trim():p(e,3);var n,r,o,i=e.charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),s=0,f=c.length;so)return NaN;return parseInt(c,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(y?c(function(){v.valueOf.call(n)}):"Number"!=i(n))?a(new d(g(e)),n,h):g(e)};for(var b,w=n(8)?s(d):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),_=0;w.length>_;_++)o(d,b=w[_])&&!o(h,b)&&l(h,b,f(d,b));h.prototype=v,v.constructor=h,n(15)(r,"Number",h)}},function(t,e,n){"use strict";var r=n(0),o=n(29),i=n(127),a=n(84),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*s[n],s[n]=r%1e7,r=c(r/1e7)},p=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},h=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==s[t]){var n=String(s[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},d=function(t,e,n){return 0===e?n:e%2===1?d(t,e-1,n*t):d(t*t,e/2,n)},v=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e};r(r.P+r.F*(!!u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(3)(function(){u.call({})})),"Number",{toFixed:function(t){var e,n,r,u,c=i(this,f),s=o(t),y="",m="0";if(s<0||s>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(y="-",c=-c),c>1e-21)if(e=v(c*d(2,69,1))-69,n=e<0?c*d(2,-e,1):c/d(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(d(10,r,1),0),r=e-1;r>=23;)p(1<<23),r-=23;p(1<0?(u=m.length,m=y+(u<=s?"0."+a.call("0",s-u)+m:m.slice(0,u-s)+"."+m.slice(u-s))):m=y+m,m}})},function(t,e,n){"use strict";var r=n(0),o=n(3),i=n(127),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(t){var e=i(this,"Number#toPrecision: incorrect invocation!");return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){var r=n(0);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(0),o=n(2).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(0);r(r.S,"Number",{isInteger:n(128)})},function(t,e,n){var r=n(0);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(0),o=n(128),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(0);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(0);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(0),o=n(126);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(0),o=n(125);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(0),o=n(129),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},function(t,e,n){function r(t){return isFinite(t=+t)&&0!=t?t<0?-r(-t):Math.log(t+Math.sqrt(t*t+1)):t}var o=n(0),i=Math.asinh;o(o.S+o.F*!(i&&1/i(0)>0),"Math",{asinh:r})},function(t,e,n){var r=n(0),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(0),o=n(85);r(r.S,"Math",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(0),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(0),o=n(86);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(0);r(r.S,"Math",{fround:n(130)})},function(t,e,n){var r=n(0),o=Math.abs;r(r.S,"Math",{hypot:function(t,e){for(var n,r,i=0,a=0,u=arguments.length,c=0;a0?(r=n/c,i+=r*r):i+=n;return c===1/0?1/0:c*Math.sqrt(i)}})},function(t,e,n){var r=n(0),o=Math.imul;r(r.S+r.F*n(3)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var r=n(0);r(r.S,"Math",{log1p:n(129)})},function(t,e,n){var r=n(0);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(0);r(r.S,"Math",{sign:n(85)})},function(t,e,n){var r=n(0),o=n(86),i=Math.exp;r(r.S+r.F*n(3)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(0),o=n(86),i=Math.exp;r(r.S,"Math",{tanh:function(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},function(t,e,n){var r=n(0);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(0),o=n(40),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,a=0;r>a;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var r=n(0),o=n(18),i=n(10);r(r.S,"String",{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),u=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(0),o=n(87)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(0),o=n(10),i=n(90),a="".endsWith;r(r.P+r.F*n(91)("endsWith"),"String",{endsWith:function(t){var e=i(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),u=void 0===n?r:Math.min(o(n),r),c=String(t);return a?a.call(e,c,u):e.slice(u-c.length,u)===c}})},function(t,e,n){"use strict";var r=n(0),o=n(90);r(r.P+r.F*n(91)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(0);r(r.P,"String",{repeat:n(84)})},function(t,e,n){"use strict";var r=n(0),o=n(10),i=n(90),a="".startsWith;r(r.P+r.F*n(91)("startsWith"),"String",{startsWith:function(t){var e=i(this,t,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){"use strict";n(16)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";n(16)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(16)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(16)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(16)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(16)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(16)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(16)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(16)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(16)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(16)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(16)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(16)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){var r=n(0);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";var r=n(0),o=n(11),i=n(27);r(r.P+r.F*n(3)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var e=o(this),n=i(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var r=n(0),o=n(269);r(r.P+r.F*(Date.prototype.toISOString!==o),"Date",{toISOString:o})},function(t,e,n){"use strict";var r=n(3),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}:i},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(15)(r,"toString",function(){var t=i.call(this);return t===t?o.call(this):"Invalid Date"})},function(t,e,n){var r=n(6)("toPrimitive"),o=Date.prototype;r in o||n(14)(o,r,n(272))},function(t,e,n){"use strict";var r=n(1),o=n(27);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!=t)}},function(t,e,n){var r=n(0);r(r.S,"Array",{isArray:n(62)})},function(t,e,n){"use strict";var r=n(24),o=n(0),i=n(11),a=n(131),u=n(92),c=n(10),s=n(93),f=n(94);o(o.S+o.F*!n(64)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,p=i(t),h="function"==typeof this?this:Array,d=arguments.length,v=d>1?arguments[1]:void 0,y=void 0!==v,m=0,g=f(p);if(y&&(v=r(v,d>2?arguments[2]:void 0,2)),void 0==g||h==Array&&u(g))for(e=c(p.length),n=new h(e);e>m;m++)s(n,m,y?v(p[m],m):p[m]);else for(l=g.call(p),n=new h;!(o=l.next()).done;m++)s(n,m,y?a(l,v,[o.value,m],!0):o.value);return n.length=m,n}})},function(t,e,n){"use strict";var r=n(0),o=n(93);r(r.S+r.F*n(3)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(0),o=n(18),i=[].join;r(r.P+r.F*(n(53)!=Object||!n(26)(i)),"Array",{join:function(t){return i.call(o(this),void 0===t?",":t)}})},function(t,e,n){"use strict";var r=n(0),o=n(80),i=n(25),a=n(40),u=n(10),c=[].slice;r(r.P+r.F*n(3)(function(){o&&c.call(o)}),"Array",{slice:function(t,e){var n=u(this.length),r=i(this);if(e=void 0===e?n:e,"Array"==r)return c.call(this,t,e);for(var o=a(t,n),s=a(e,n),f=u(s-o),l=new Array(f),p=0;p1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},function(t,e,n){var r=n(0);r(r.P,"Array",{copyWithin:n(133)}),n(36)("copyWithin")},function(t,e,n){var r=n(0);r(r.P,"Array",{fill:n(96)}),n(36)("fill")},function(t,e,n){"use strict";var r=n(0),o=n(31)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(36)("find")},function(t,e,n){"use strict";var r=n(0),o=n(31)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(36)(i)},function(t,e,n){n(43)("Array")},function(t,e,n){var r=n(2),o=n(83),i=n(9).f,a=n(42).f,u=n(63),c=n(65),s=r.RegExp,f=s,l=s.prototype,p=/a/g,h=/a/g,d=new s(p)!==p;if(n(8)&&(!d||n(3)(function(){return h[n(6)("match")]=!1,s(p)!=p||s(h)==h||"/a/i"!=s(p,"i")}))){s=function(t,e){var n=this instanceof s,r=u(t),i=void 0===e;return!n&&r&&t.constructor===s&&i?t:o(d?new f(r&&!i?t.source:t,e):f((r=t instanceof s)?t.source:t,r&&i?c.call(t):e),n?this:l,s)};for(var v=a(f),y=0;v.length>y;)!function(t){t in s||i(s,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})}(v[y++]);l.constructor=s,s.prototype=l,n(15)(r,"RegExp",s)}n(43)("RegExp")},function(t,e,n){"use strict";n(135);var r=n(1),o=n(65),i=n(8),a=/./.toString,u=function(t){n(15)(RegExp.prototype,"toString",t,!0)};n(3)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?u(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)}):"toString"!=a.name&&u(function(){return a.call(this)})},function(t,e,n){n(66)("match",1,function(t,e,n){return[function(n){"use strict";var r=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(66)("replace",2,function(t,e,n){return[function(r,o){"use strict";var i=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},n]})},function(t,e,n){n(66)("search",1,function(t,e,n){return[function(n){"use strict";var r=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(66)("split",2,function(t,e,r){"use strict";var o=n(63),i=r,a=[].push,u="length";if("c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1)[u]||2!="ab".split(/(?:ab)*/)[u]||4!=".".split(/(.?)(.?)/)[u]||".".split(/()()/)[u]>1||"".split(/.?/)[u]){var c=void 0===/()??/.exec("")[1];r=function(t,e){var n=String(this);if(void 0===t&&0===e)return[];if(!o(t))return i.call(n,t,e);var r,s,f,l,p,h=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,y=void 0===e?4294967295:e>>>0,m=new RegExp(t.source,d+"g");for(c||(r=new RegExp("^"+m.source+"$(?!\\s)",d));(s=m.exec(n))&&!((f=s.index+s[0][u])>v&&(h.push(n.slice(v,s.index)),!c&&s[u]>1&&s[0].replace(r,function(){for(p=1;p1&&s.index=y));)m.lastIndex===s.index&&m.lastIndex++;return v===n[u]?!l&&m.test("")||h.push(""):h.push(n.slice(v)),h[u]>y?h.slice(0,y):h}}else"0".split(void 0,0)[u]&&(r=function(t,e){return void 0===t&&0===e?[]:i.call(this,t,e)});return[function(n,o){var i=t(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,i,o):r.call(String(i),n,o)},r]})},function(t,e,n){"use strict";var r,o,i,a,u=n(35),c=n(2),s=n(24),f=n(55),l=n(0),p=n(4),h=n(13),d=n(44),v=n(45),y=n(67),m=n(98).set,g=n(99)(),b=n(100),w=n(136),_=n(68),x=n(137),E=c.TypeError,S=c.process,A=S&&S.versions,O=A&&A.v8||"",C=c.Promise,T="process"==f(S),k=function(){},P=o=b.f,j=!!function(){try{var t=C.resolve(1),e=(t.constructor={})[n(6)("species")]=function(t){t(k,k)};return(T||"function"==typeof PromiseRejectionEvent)&&t.then(k)instanceof e&&0!==O.indexOf("6.6")&&-1===_.indexOf("Chrome/66")}catch(t){}}(),I=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},M=function(t,e){if(!t._n){t._n=!0;var n=t._c;g(function(){for(var r=t._v,o=1==t._s,i=0;n.length>i;)!function(e){var n,i,a,u=o?e.ok:e.fail,c=e.resolve,s=e.reject,f=e.domain;try{u?(o||(2==t._h&&D(t),t._h=1),!0===u?n=r:(f&&f.enter(),n=u(r),f&&(f.exit(),a=!0)),n===e.promise?s(E("Promise-chain cycle")):(i=I(n))?i.call(n,c,s):c(n)):s(r)}catch(t){f&&!a&&f.exit(),s(t)}}(n[i++]);t._c=[],t._n=!1,e&&!t._h&&R(t)})}},R=function(t){m.call(c,function(){var e,n,r,o=t._v,i=N(t);if(i&&(e=w(function(){T?S.emit("unhandledRejection",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=T||N(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},N=function(t){return 1!==t._h&&0===(t._a||t._c).length},D=function(t){m.call(c,function(){var e;T?S.emit("rejectionHandled",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},L=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),M(e,!0))},U=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw E("Promise can't be resolved itself");(e=I(t))?g(function(){var r={_w:n,_d:!1};try{e.call(t,s(U,r,1),s(L,r,1))}catch(t){L.call(r,t)}}):(n._v=t,n._s=1,M(n,!1))}catch(t){L.call({_w:n,_d:!1},t)}}};j||(C=function(t){d(this,C,"Promise","_h"),h(t),r.call(this);try{t(s(U,this,1),s(L,this,1))}catch(t){L.call(this,t)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(46)(C.prototype,{then:function(t,e){var n=P(y(this,C));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=T?S.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&M(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=s(U,t,1),this.reject=s(L,t,1)},b.f=P=function(t){return t===C||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!j,{Promise:C}),n(47)(C,"Promise"),n(43)("Promise"),a=n(23).Promise,l(l.S+l.F*!j,"Promise",{reject:function(t){var e=P(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!j),"Promise",{resolve:function(t){return x(u&&this===a?C:this,t)}}),l(l.S+l.F*!(j&&n(64)(function(t){C.all(t).catch(k)})),"Promise",{all:function(t){var e=this,n=P(e),r=n.resolve,o=n.reject,i=w(function(){var n=[],i=0,a=1;v(t,!1,function(t){var u=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=P(e),r=n.reject,o=w(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){"use strict";var r=n(142),o=n(50);n(69)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r=n(0),o=n(70),i=n(101),a=n(1),u=n(40),c=n(10),s=n(4),f=n(2).ArrayBuffer,l=n(67),p=i.ArrayBuffer,h=i.DataView,d=o.ABV&&f.isView,v=p.prototype.slice,y=o.VIEW;r(r.G+r.W+r.F*(f!==p),{ArrayBuffer:p}),r(r.S+r.F*!o.CONSTR,"ArrayBuffer",{isView:function(t){return d&&d(t)||s(t)&&y in t}}),r(r.P+r.U+r.F*n(3)(function(){return!new p(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==v&&void 0===e)return v.call(a(this),t);for(var n=a(this).byteLength,r=u(t,n),o=u(void 0===e?n:e,n),i=new(l(this,p))(c(o-r)),s=new h(this),f=new h(i),d=0;r=n.length)return{value:void 0,done:!0}}while(!((t=n[e._i++])in e._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function(t){return new i(t)}})},function(t,e,n){function r(t,e){var n,u,f=arguments.length<3?t:arguments[2];return s(t)===f?t[e]:(n=o.f(t,e))?a(n,"value")?n.value:void 0!==n.get?n.get.call(f):void 0:c(u=i(t))?r(u,e,f):void 0}var o=n(19),i=n(20),a=n(17),u=n(0),c=n(4),s=n(1);u(u.S,"Reflect",{get:r})},function(t,e,n){var r=n(19),o=n(0),i=n(1);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(0),o=n(20),i=n(1);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(0);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(0),o=n(1),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(0);r(r.S,"Reflect",{ownKeys:n(144)})},function(t,e,n){var r=n(0),o=n(1),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(t){return!1}}})},function(t,e,n){function r(t,e,n){var c,p,h=arguments.length<4?t:arguments[3],d=i.f(f(t),e);if(!d){if(l(p=a(t)))return r(p,e,n,h);d=s(0)}if(u(d,"value")){if(!1===d.writable||!l(h))return!1;if(c=i.f(h,e)){if(c.get||c.set||!1===c.writable)return!1;c.value=n,o.f(h,e,c)}else o.f(h,e,s(0,n));return!0}return void 0!==d.set&&(d.set.call(h,n),!0)}var o=n(9),i=n(19),a=n(20),u=n(17),c=n(0),s=n(37),f=n(1),l=n(4);c(c.S,"Reflect",{set:r})},function(t,e,n){var r=n(0),o=n(81);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(t){return!1}}})},function(t,e,n){"use strict";var r=n(0),o=n(60)(!0);r(r.P,"Array",{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(36)("includes")},function(t,e,n){"use strict";var r=n(0),o=n(145),i=n(11),a=n(10),u=n(13),c=n(95);r(r.P,"Array",{flatMap:function(t){var e,n,r=i(this);return u(t),e=a(r.length),n=c(r,0),o(n,r,r,e,0,1,t,arguments[1]),n}}),n(36)("flatMap")},function(t,e,n){"use strict";var r=n(0),o=n(145),i=n(11),a=n(10),u=n(29),c=n(95);r(r.P,"Array",{flatten:function(){var t=arguments[0],e=i(this),n=a(e.length),r=c(e,0);return o(r,e,e,n,0,void 0===t?1:u(t)),r}}),n(36)("flatten")},function(t,e,n){"use strict";var r=n(0),o=n(87)(!0);r(r.P,"String",{at:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(0),o=n(146),i=n(68);r(r.P+r.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(i),"String",{padStart:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,e,n){"use strict";var r=n(0),o=n(146),i=n(68);r(r.P+r.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(i),"String",{padEnd:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,e,n){"use strict";n(48)("trimLeft",function(t){return function(){return t(this,1)}},"trimStart")},function(t,e,n){"use strict";n(48)("trimRight",function(t){return function(){return t(this,2)}},"trimEnd")},function(t,e,n){"use strict";var r=n(0),o=n(28),i=n(10),a=n(63),u=n(65),c=RegExp.prototype,s=function(t,e){this._r=t,this._s=e};n(89)(s,"RegExp String",function(){var t=this._r.exec(this._s);return{value:t,done:null===t}}),r(r.P,"String",{matchAll:function(t){if(o(this),!a(t))throw TypeError(t+" is not a regexp!");var e=String(this),n="flags"in c?String(t.flags):u.call(t),r=new RegExp(t.source,~n.indexOf("g")?n:"g"+n);return r.lastIndex=i(t.lastIndex),new s(r,e)}})},function(t,e,n){n(77)("asyncIterator")},function(t,e,n){n(77)("observable")},function(t,e,n){var r=n(0),o=n(144),i=n(18),a=n(19),u=n(93);r(r.S,"Object",{getOwnPropertyDescriptors:function(t){for(var e,n,r=i(t),c=a.f,s=o(r),f={},l=0;s.length>l;)void 0!==(n=c(r,e=s[l++]))&&u(f,e,n);return f}})},function(t,e,n){var r=n(0),o=n(147)(!1);r(r.S,"Object",{values:function(t){return o(t)}})},function(t,e,n){var r=n(0),o=n(147)(!0);r(r.S,"Object",{entries:function(t){return o(t)}})},function(t,e,n){"use strict";var r=n(0),o=n(11),i=n(13),a=n(9);n(8)&&r(r.P+n(71),"Object",{__defineGetter__:function(t,e){a.f(o(this),t,{get:i(e),enumerable:!0,configurable:!0})}})},function(t,e,n){"use strict";var r=n(0),o=n(11),i=n(13),a=n(9);n(8)&&r(r.P+n(71),"Object",{__defineSetter__:function(t,e){a.f(o(this),t,{set:i(e),enumerable:!0,configurable:!0})}})},function(t,e,n){"use strict";var r=n(0),o=n(11),i=n(27),a=n(20),u=n(19).f;n(8)&&r(r.P+n(71),"Object",{__lookupGetter__:function(t){var e,n=o(this),r=i(t,!0);do{if(e=u(n,r))return e.get}while(n=a(n))}})},function(t,e,n){"use strict";var r=n(0),o=n(11),i=n(27),a=n(20),u=n(19).f;n(8)&&r(r.P+n(71),"Object",{__lookupSetter__:function(t){var e,n=o(this),r=i(t,!0);do{if(e=u(n,r))return e.set}while(n=a(n))}})},function(t,e,n){var r=n(0);r(r.P+r.R,"Map",{toJSON:n(148)("Map")})},function(t,e,n){var r=n(0);r(r.P+r.R,"Set",{toJSON:n(148)("Set")})},function(t,e,n){n(72)("Map")},function(t,e,n){n(72)("Set")},function(t,e,n){n(72)("WeakMap")},function(t,e,n){n(72)("WeakSet")},function(t,e,n){n(73)("Map")},function(t,e,n){n(73)("Set")},function(t,e,n){n(73)("WeakMap")},function(t,e,n){n(73)("WeakSet")},function(t,e,n){var r=n(0);r(r.G,{global:n(2)})},function(t,e,n){var r=n(0);r(r.S,"System",{global:n(2)})},function(t,e,n){var r=n(0),o=n(25);r(r.S,"Error",{isError:function(t){return"Error"===o(t)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{clamp:function(t,e,n){return Math.min(n,Math.max(e,t))}})},function(t,e,n){var r=n(0);r(r.S,"Math",{DEG_PER_RAD:Math.PI/180})},function(t,e,n){var r=n(0),o=180/Math.PI;r(r.S,"Math",{degrees:function(t){return t*o}})},function(t,e,n){var r=n(0),o=n(150),i=n(130);r(r.S,"Math",{fscale:function(t,e,n,r,a){return i(o(t,e,n,r,a))}})},function(t,e,n){var r=n(0);r(r.S,"Math",{iaddh:function(t,e,n,r){var o=t>>>0,i=e>>>0,a=n>>>0;return i+(r>>>0)+((o&a|(o|a)&~(o+a>>>0))>>>31)|0}})},function(t,e,n){var r=n(0);r(r.S,"Math",{isubh:function(t,e,n,r){var o=t>>>0,i=e>>>0,a=n>>>0;return i-(r>>>0)-((~o&a|~(o^a)&o-a>>>0)>>>31)|0}})},function(t,e,n){var r=n(0);r(r.S,"Math",{imulh:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r,a=n>>16,u=r>>16,c=(a*i>>>0)+(o*i>>>16);return a*u+(c>>16)+((o*u>>>0)+(65535&c)>>16)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(t,e,n){var r=n(0),o=Math.PI/180;r(r.S,"Math",{radians:function(t){return t*o}})},function(t,e,n){var r=n(0);r(r.S,"Math",{scale:n(150)})},function(t,e,n){var r=n(0);r(r.S,"Math",{umulh:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r,a=n>>>16,u=r>>>16,c=(a*i>>>0)+(o*i>>>16);return a*u+(c>>>16)+((o*u>>>0)+(65535&c)>>>16)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{signbit:function(t){return(t=+t)!=t?t:0==t?1/t==1/0:t>0}})},function(t,e,n){"use strict";var r=n(0),o=n(23),i=n(2),a=n(67),u=n(137);r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,o.Promise||i.Promise),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then(function(){return n})}:t,n?function(n){return u(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){"use strict";var r=n(0),o=n(100),i=n(136);r(r.S,"Promise",{try:function(t){var e=o.f(this),n=i(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},function(t,e,n){var r=n(33),o=n(1),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},function(t,e,n){var r=n(33),o=n(1),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var c=u.get(e);return c.delete(n),!!c.size||u.delete(e)}})},function(t,e,n){var r=n(33),o=n(1),i=n(20),a=r.has,u=r.get,c=r.key,s=function(t,e,n){if(a(t,e,n))return u(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:c(arguments[2]))}})},function(t,e,n){var r=n(140),o=n(149),i=n(33),a=n(1),u=n(20),c=i.keys,s=i.key,f=function(t,e){var n=c(t,e),i=u(t);if(null===i)return n;var a=f(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(t){return f(a(t),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,n){var r=n(33),o=n(1),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(33),o=n(1),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(t){return i(o(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(33),o=n(1),i=n(20),a=r.has,u=r.key,c=function(t,e,n){if(a(t,e,n))return!0;var r=i(e);return null!==r&&c(t,r,n)};r.exp({hasMetadata:function(t,e){return c(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,n){var r=n(33),o=n(1),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(33),o=n(1),i=n(13),a=r.key,u=r.set;r.exp({metadata:function(t,e){return function(n,r){u(t,e,(void 0!==r?o:i)(n),a(r))}}})},function(t,e,n){var r=n(0),o=n(99)(),i=n(2).process,a="process"==n(25)(i);r(r.G,{asap:function(t){var e=a&&i.domain;o(e?e.bind(t):t)}})},function(t,e,n){"use strict";var r=n(0),o=n(2),i=n(23),a=n(99)(),u=n(6)("observable"),c=n(13),s=n(1),f=n(44),l=n(46),p=n(14),h=n(45),d=h.RETURN,v=function(t){return null==t?void 0:c(t)},y=function(t){var e=t._c;e&&(t._c=void 0,e())},m=function(t){return void 0===t._o},g=function(t){m(t)||(t._o=void 0,y(t))},b=function(t,e){s(t),this._c=void 0,this._o=t,t=new w(this);try{var n=e(t),r=n;null!=n&&("function"===typeof n.unsubscribe?n=function(){r.unsubscribe()}:c(n),this._c=n)}catch(e){return void t.error(e)}m(this)&&y(this)};b.prototype=l({},{unsubscribe:function(){g(this)}});var w=function(t){this._s=t};w.prototype=l({},{next:function(t){var e=this._s;if(!m(e)){var n=e._o;try{var r=v(n.next);if(r)return r.call(n,t)}catch(t){try{g(e)}finally{throw t}}}},error:function(t){var e=this._s;if(m(e))throw t;var n=e._o;e._o=void 0;try{var r=v(n.error);if(!r)throw t;t=r.call(n,t)}catch(t){try{y(e)}finally{throw t}}return y(e),t},complete:function(t){var e=this._s;if(!m(e)){var n=e._o;e._o=void 0;try{var r=v(n.complete);t=r?r.call(n,t):void 0}catch(t){try{y(e)}finally{throw t}}return y(e),t}}});var _=function(t){f(this,_,"Observable","_f")._f=c(t)};l(_.prototype,{subscribe:function(t){return new b(t,this._f)},forEach:function(t){var e=this;return new(i.Promise||o.Promise)(function(n,r){c(t);var o=e.subscribe({next:function(e){try{return t(e)}catch(t){r(t),o.unsubscribe()}},error:r,complete:n})})}}),l(_,{from:function(t){var e="function"===typeof this?this:_,n=v(s(t)[u]);if(n){var r=s(n.call(t));return r.constructor===e?r:new e(function(t){return r.subscribe(t)})}return new e(function(e){var n=!1;return a(function(){if(!n){try{if(h(t,!1,function(t){if(e.next(t),n)return d})===d)return}catch(t){if(n)throw t;return void e.error(t)}e.complete()}}),function(){n=!0}})},of:function(){for(var t=0,e=arguments.length,n=new Array(e);t2,o=!!r&&a.call(arguments,2);return t(r?function(){("function"==typeof e?e:Function(e)).apply(this,o)}:e,n)}};o(o.G+o.B+o.F*u,{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(t,e,n){var r=n(0),o=n(98);r(r.G+r.B,{setImmediate:o.set,clearImmediate:o.clear})},function(t,e,n){for(var r=n(97),o=n(39),i=n(15),a=n(2),u=n(14),c=n(49),s=n(6),f=s("iterator"),l=s("toStringTag"),p=c.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=o(h),v=0;v=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return e("end");if(o.tryLoc<=this.prev){var a=g.call(o,"catchLoc"),u=g.call(o,"finallyLoc");if(a&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&g.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),p(n),k}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;p(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:d(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=y),k}}}("object"===typeof e?e:"object"===typeof window?window:"object"===typeof self?self:this)}).call(e,n(52))},function(t,e,n){n(388),t.exports=n(23).RegExp.escape},function(t,e,n){var r=n(0),o=n(389)(/[\\^$*+?.()|[\]{}]/g,"\\$&");r(r.S,"RegExp",{escape:function(t){return o(t)}})},function(t,e){t.exports=function(t,e){var n=e===Object(e)?function(t){return e[t]}:e;return function(e){return String(e).replace(t,n)}}},function(t,e,n){"use strict";"undefined"===typeof Promise&&(n(391).enable(),window.Promise=n(393)),n(394),Object.assign=n(102)},function(t,e,n){"use strict";function r(){s=!1,u._47=null,u._71=null}function o(t){function e(e){(t.allRejections||a(l[e].error,t.whitelist||c))&&(l[e].displayId=f++,t.onUnhandled?(l[e].logged=!0,t.onUnhandled(l[e].displayId,l[e].error)):(l[e].logged=!0,i(l[e].displayId,l[e].error)))}function n(e){l[e].logged&&(t.onHandled?t.onHandled(l[e].displayId,l[e].error):l[e].onUnhandled)}t=t||{},s&&r(),s=!0;var o=0,f=0,l={};u._47=function(t){2===t._83&&l[t._56]&&(l[t._56].logged?n(t._56):clearTimeout(l[t._56].timeout),delete l[t._56])},u._71=function(t,n){0===t._75&&(t._56=o++,l[t._56]={displayId:null,error:n,timeout:setTimeout(e.bind(null,t._56),a(n,c)?100:2e3),logged:!1})}}function i(t,e){((e&&(e.stack||e))+"").split("\n").forEach(function(t){})}function a(t,e){return e.some(function(e){return t instanceof e})}var u=n(151),c=[ReferenceError,TypeError,RangeError],s=!1;e.disable=r,e.enable=o},function(t,e,n){"use strict";(function(e){function n(t){a.length||(i(),u=!0),a[a.length]=t}function r(){for(;cs){for(var e=0,n=a.length-c;e-1?e:t}function h(t,e){e=e||{};var n=e.body;if(t instanceof h){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new o(t.headers)),this.method=t.method,this.mode=t.mode,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new o(e.headers)),this.method=p(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function d(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}}),e}function v(t){var e=new o;return t.split(/\r?\n/).forEach(function(t){var n=t.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();e.append(r,o)}}),e}function y(t,e){e||(e={}),this.type="default",this.status="status"in e?e.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new o(e.headers),this.url=e.url||"",this._initBody(t)}if(!t.fetch){var m={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(m.arrayBuffer)var g=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],b=function(t){return t&&DataView.prototype.isPrototypeOf(t)},w=ArrayBuffer.isView||function(t){return t&&g.indexOf(Object.prototype.toString.call(t))>-1};o.prototype.append=function(t,r){t=e(t),r=n(r);var o=this.map[t];this.map[t]=o?o+","+r:r},o.prototype.delete=function(t){delete this.map[e(t)]},o.prototype.get=function(t){return t=e(t),this.has(t)?this.map[t]:null},o.prototype.has=function(t){return this.map.hasOwnProperty(e(t))},o.prototype.set=function(t,r){this.map[e(t)]=n(r)},o.prototype.forEach=function(t,e){for(var n in this.map)this.map.hasOwnProperty(n)&&t.call(e,this.map[n],n,this)},o.prototype.keys=function(){var t=[];return this.forEach(function(e,n){t.push(n)}),r(t)},o.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),r(t)},o.prototype.entries=function(){var t=[];return this.forEach(function(e,n){t.push([n,e])}),r(t)},m.iterable&&(o.prototype[Symbol.iterator]=o.prototype.entries);var _=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];h.prototype.clone=function(){return new h(this,{body:this._bodyInit})},l.call(h.prototype),l.call(y.prototype),y.prototype.clone=function(){return new y(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},y.error=function(){var t=new y(null,{status:0,statusText:""});return t.type="error",t};var x=[301,302,303,307,308];y.redirect=function(t,e){if(-1===x.indexOf(e))throw new RangeError("Invalid status code");return new y(null,{status:e,headers:{location:t}})},t.Headers=o,t.Request=h,t.Response=y,t.fetch=function(t,e){return new Promise(function(n,r){var o=new h(t,e),i=new XMLHttpRequest;i.onload=function(){var t={status:i.status,statusText:i.statusText,headers:v(i.getAllResponseHeaders()||"")};t.url="responseURL"in i?i.responseURL:t.headers.get("X-Request-URL");var e="response"in i?i.response:i.responseText;n(new y(e,t))},i.onerror=function(){r(new TypeError("Network request failed"))},i.ontimeout=function(){r(new TypeError("Network request failed"))},i.open(o.method,o.url,!0),"include"===o.credentials&&(i.withCredentials=!0),"responseType"in i&&m.blob&&(i.responseType="blob"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),i.send("undefined"===typeof o._bodyInit?null:o._bodyInit)})},t.fetch.polyfill=!0}}("undefined"!==typeof self?self:this)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(5),o=n.n(r),i=n(153),a=n.n(i),u=n(404),c=n(499),s=n.n(c),f=n(500),l=n(501),p=(n.n(l),n(115)),h=n(506),d=n(510),v=(n.n(d),n(511));n.n(v);s.a.attach(document.body);var y=function(t){a.a.render(o.a.createElement(p.a,{store:h.a},o.a.createElement(l.AppContainer,null,o.a.createElement(t,null))),document.getElementById("root"))};y(u.a),Object(f.a)()},function(t,e,n){"use strict";function r(t){for(var e=arguments.length-1,n="http://reactjs.org/docs/error-decoder.html?invariant="+t,r=0;rL.length&&L.push(t)}function p(t,e,n,o){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var a=!1;if(null===t)a=!0;else switch(i){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case x:case E:a=!0}}if(a)return n(o,t,""===e?"."+h(t,0):e),1;if(a=0,e=""===e?".":e+":",Array.isArray(t))for(var u=0;uthis.eventPool.length&&this.eventPool.push(t)}function L(t){t.eventPool=[],t.getPooled=N,t.release=D}function U(t,e){switch(t){case"topKeyUp":return-1!==Wn.indexOf(e.keyCode);case"topKeyDown":return 229!==e.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function F(t){return t=t.detail,"object"===typeof t&&"data"in t?t.data:null}function B(t,e){switch(t){case"topCompositionEnd":return F(e);case"topKeyPress":return 32!==e.which?null:(Jn=!0,Gn);case"topTextInput":return t=e.data,t===Gn&&Jn?null:t;default:return null}}function z(t,e){if(Xn)return"topCompositionEnd"===t||!Hn&&U(t,e)?(t=I(),Un._root=null,Un._startText=null,Un._fallbackText=null,Xn=!1,t):null;switch(t){case"topPaste":return null;case"topKeyPress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1e}return!1}function st(t,e,n,r,o){this.acceptsBooleans=2===e||3===e||4===e,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=t,this.type=e}function ft(t){return t[1].toUpperCase()}function lt(t,e,n,r){var o=xr.hasOwnProperty(e)?xr[e]:null;(null!==o?0===o.type:!r&&(2Gr.length&&Gr.push(t)}}}function Vt(t,e){var n={};return n[t.toLowerCase()]=e.toLowerCase(),n["Webkit"+t]="webkit"+e,n["Moz"+t]="moz"+e,n["ms"+t]="MS"+e,n["O"+t]="o"+e.toLowerCase(),n}function Kt(t){if(Zr[t])return Zr[t];if(!Xr[t])return t;var e,n=Xr[t];for(e in n)if(n.hasOwnProperty(e)&&e in $r)return Zr[t]=n[e];return t}function Yt(t){return Object.prototype.hasOwnProperty.call(t,oo)||(t[oo]=ro++,no[t[oo]]={}),no[t[oo]]}function Gt(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Qt(t,e){var n=Gt(t);t=0;for(var r;n;){if(3===n.nodeType){if(r=t+n.textContent.length,t<=e&&r>=e)return{node:n,offset:e-t};t=r}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Gt(n)}}function Jt(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&("input"===e&&"text"===t.type||"textarea"===e||"true"===t.contentEditable)}function Xt(t,e){if(fo||null==uo||uo!==dn())return null;var n=uo;return"selectionStart"in n&&Jt(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?(n=window.getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}):n=void 0,so&&vn(so,n)?null:(so=n,t=R.getPooled(ao.select,co,t,e),t.type="select",t.target=uo,k(t),t)}function Zt(t,e,n,r){this.tag=t,this.key=n,this.stateNode=this.type=null,this.sibling=this.child=this.return=null,this.index=0,this.ref=null,this.pendingProps=e,this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function $t(t,e,n){var r=t.alternate;return null===r?(r=new Zt(t.tag,e,t.key,t.mode),r.type=t.type,r.stateNode=t.stateNode,r.alternate=t,t.alternate=r):(r.pendingProps=e,r.effectTag=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.expirationTime=n,r.child=t.child,r.memoizedProps=t.memoizedProps,r.memoizedState=t.memoizedState,r.updateQueue=t.updateQueue,r.sibling=t.sibling,r.index=t.index,r.ref=t.ref,r}function te(t,e,n){var o=t.type,i=t.key;t=t.props;var a=void 0;if("function"===typeof o)a=o.prototype&&o.prototype.isReactComponent?2:0;else if("string"===typeof o)a=5;else switch(o){case pr:return ee(t.children,e,n,i);case yr:a=11,e|=3;break;case hr:a=11,e|=2;break;case sr:a=7;break;case fr:a=9;break;default:if("object"===typeof o&&null!==o)switch(o.$$typeof){case dr:a=13;break;case vr:a=12;break;case mr:a=14;break;default:if("number"===typeof o.tag)return e=o,e.pendingProps=t,e.expirationTime=n,e;r("130",null==o?o:typeof o,"")}else r("130",null==o?o:typeof o,"")}return e=new Zt(a,t,i,e),e.type=o,e.expirationTime=n,e}function ee(t,e,n,r){return t=new Zt(10,t,r,e),t.expirationTime=n,t}function ne(t,e,n){return t=new Zt(6,t,null,e),t.expirationTime=n,t}function re(t,e,n){return e=new Zt(4,null!==t.children?t.children:[],t.key,e),e.expirationTime=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function oe(t){return function(e){try{return t(e)}catch(t){}}}function ie(t){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var e=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(e.isDisabled||!e.supportsFiber)return!0;try{var n=e.inject(t);po=oe(function(t){return e.onCommitFiberRoot(n,t)}),ho=oe(function(t){return e.onCommitFiberUnmount(n,t)})}catch(t){}return!0}function ae(t){"function"===typeof po&&po(t)}function ue(t){"function"===typeof ho&&ho(t)}function ce(t){return{baseState:t,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1,capturedValues:null}}function se(t,e){null===t.last?t.first=t.last=e:(t.last.next=e,t.last=e),(0===t.expirationTime||t.expirationTime>e.expirationTime)&&(t.expirationTime=e.expirationTime)}function fe(t){vo=yo=null;var e=t.alternate,n=t.updateQueue;null===n&&(n=t.updateQueue=ce(null)),null!==e?null===(t=e.updateQueue)&&(t=e.updateQueue=ce(null)):t=null,vo=n,yo=t!==n?t:null}function le(t,e){fe(t),t=vo;var n=yo;null===n?se(t,e):null===t.last||null===n.last?(se(t,e),se(n,e)):(se(t,e),n.last=e)}function pe(t,e,n,r){return t=t.partialState,"function"===typeof t?t.call(e,n,r):t}function he(t,e,n,r,o,i){null!==t&&t.updateQueue===n&&(n=e.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,capturedValues:n.capturedValues,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?t=n.baseState:(t=n.baseState=e.memoizedState,n.isInitialized=!0);for(var a=!0,u=n.first,c=!1;null!==u;){var s=u.expirationTime;if(s>i){var f=n.expirationTime;(0===f||f>s)&&(n.expirationTime=s),c||(c=!0,n.baseState=t)}else c||(n.first=u.next,null===n.first&&(n.last=null)),u.isReplace?(t=pe(u,r,t,o),a=!0):(s=pe(u,r,t,o))&&(t=a?pn({},t,s):pn(t,s),a=!1),u.isForced&&(n.hasForceUpdate=!0),null!==u.callback&&(s=n.callbackList,null===s&&(s=n.callbackList=[]),s.push(u)),null!==u.capturedValue&&(s=n.capturedValues,null===s?n.capturedValues=[u.capturedValue]:s.push(u.capturedValue));u=u.next}return null!==n.callbackList?e.effectTag|=32:null!==n.first||n.hasForceUpdate||null!==n.capturedValues||(e.updateQueue=null),c||(n.baseState=t),t}function de(t,e){var n=t.callbackList;if(null!==n)for(t.callbackList=null,t=0;tv?(y=l,l=null):y=l.sibling;var m=h(r,l,u[v],c);if(null===m){null===l&&(l=y);break}t&&l&&null===m.alternate&&e(r,l),i=a(m,i,v),null===f?s=m:f.sibling=m,f=m,l=y}if(v===u.length)return n(r,l),s;if(null===l){for(;vy?(m=v,v=null):m=v.sibling;var b=h(i,v,g.value,s);if(null===b){v||(v=m);break}t&&v&&null===b.alternate&&e(i,v),u=a(b,u,y),null===l?f=b:l.sibling=b,l=b,v=m}if(g.done)return n(i,v),f;if(null===v){for(;!g.done;y++,g=c.next())null!==(g=p(i,g.value,s))&&(u=a(g,u,y),null===l?f=g:l.sibling=g,l=g);return f}for(v=o(i,v);!g.done;y++,g=c.next())null!==(g=d(v,i,y,g.value,s))&&(t&&null!==g.alternate&&v.delete(null===g.key?y:g.key),u=a(g,u,y),null===l?f=g:l.sibling=g,l=g);return t&&v.forEach(function(t){return e(i,t)}),f}return function(t,o,a,c){"object"===typeof a&&null!==a&&a.type===pr&&null===a.key&&(a=a.props.children);var s="object"===typeof a&&null!==a;if(s)switch(a.$$typeof){case cr:t:{var f=a.key;for(s=o;null!==s;){if(s.key===f){if(10===s.tag?a.type===pr:s.type===a.type){n(t,s.sibling),o=i(s,a.type===pr?a.props.children:a.props,c),o.ref=ye(t,s,a),o.return=t,t=o;break t}n(t,s);break}e(t,s),s=s.sibling}a.type===pr?(o=ee(a.props.children,t.mode,c,a.key),o.return=t,t=o):(c=te(a,t.mode,c),c.ref=ye(t,o,a),c.return=t,t=c)}return u(t);case lr:t:{for(s=a.key;null!==o;){if(o.key===s){if(4===o.tag&&o.stateNode.containerInfo===a.containerInfo&&o.stateNode.implementation===a.implementation){n(t,o.sibling),o=i(o,a.children||[],c),o.return=t,t=o;break t}n(t,o);break}e(t,o),o=o.sibling}o=re(a,t.mode,c),o.return=t,t=o}return u(t)}if("string"===typeof a||"number"===typeof a)return a=""+a,null!==o&&6===o.tag?(n(t,o.sibling),o=i(o,a,c),o.return=t,t=o):(n(t,o),o=ne(a,t.mode,c),o.return=t,t=o),u(t);if(mo(a))return v(t,o,a,c);if(rt(a))return y(t,o,a,c);if(s&&me(t,a),"undefined"===typeof a)switch(t.tag){case 2:case 1:c=t.type,r("152",c.displayName||c.name||"Component")}return n(t,o)}}function be(t,e,n,o,i,a,u){function c(t,e,n){s(t,e,n,e.expirationTime)}function s(t,e,n,r){e.child=null===t?bo(e,null,n,r):go(e,t.child,n,r)}function f(t,e){var n=e.ref;(null===t&&null!==n||null!==t&&t.ref!==n)&&(e.effectTag|=128)}function l(t,e,n,r,o,i){if(f(t,e),!n&&!o)return r&&O(e,!1),v(t,e);n=e.stateNode,ar.current=e;var a=o?null:n.render();return e.effectTag|=1,o&&(s(t,e,null,i),e.child=null),s(t,e,a,i),e.memoizedState=n.state,e.memoizedProps=n.props,r&&O(e,!0),e.child}function p(t){var e=t.stateNode;e.pendingContext?A(t,e.pendingContext,e.pendingContext!==e.context):e.context&&A(t,e.context,!1),b(t,e.containerInfo)}function h(t,e,n,r){var o=t.child;for(null!==o&&(o.return=t);null!==o;){switch(o.tag){case 12:var i=0|o.stateNode;if(o.type===e&&0!==(i&n)){for(i=o;null!==i;){var a=i.alternate;if(0===i.expirationTime||i.expirationTime>r)i.expirationTime=r,null!==a&&(0===a.expirationTime||a.expirationTime>r)&&(a.expirationTime=r);else{if(null===a||!(0===a.expirationTime||a.expirationTime>r))break;a.expirationTime=r}i=i.return}i=null}else i=o.child;break;case 13:i=o.type===t.type?null:o.child;break;default:i=o.child}if(null!==i)i.return=o;else for(i=o;null!==i;){if(i===t){i=null;break}if(null!==(o=i.sibling)){i=o;break}i=i.return}o=i}}function d(t,e,n){var r=e.type._context,o=e.pendingProps,i=e.memoizedProps;if(!E()&&i===o)return e.stateNode=0,w(e),v(t,e);var a=o.value;if(e.memoizedProps=o,null===i)a=1073741823;else if(i.value===o.value){if(i.children===o.children)return e.stateNode=0,w(e),v(t,e);a=0}else{var u=i.value;if(u===a&&(0!==u||1/u===1/a)||u!==u&&a!==a){if(i.children===o.children)return e.stateNode=0,w(e),v(t,e);a=0}else if(a="function"===typeof r._calculateChangedBits?r._calculateChangedBits(u,a):1073741823,0===(a|=0)){if(i.children===o.children)return e.stateNode=0,w(e),v(t,e)}else h(e,r,a,n)}return e.stateNode=a,w(e),c(t,e,o.children),e.child}function v(t,e){if(null!==t&&e.child!==t.child&&r("153"),null!==e.child){t=e.child;var n=$t(t,t.pendingProps,t.expirationTime);for(e.child=n,n.return=e;null!==t.sibling;)t=t.sibling,n=n.sibling=$t(t,t.pendingProps,t.expirationTime),n.return=e;n.sibling=null}return e.child}var y=t.shouldSetTextContent,m=t.shouldDeprioritizeSubtree,g=e.pushHostContext,b=e.pushHostContainer,w=o.pushProvider,_=n.getMaskedContext,x=n.getUnmaskedContext,E=n.hasContextChanged,S=n.pushContextProvider,A=n.pushTopLevelContextObject,O=n.invalidateContextProvider,C=i.enterHydrationState,T=i.resetHydrationState,k=i.tryToClaimNextHydratableInstance;t=ve(n,a,u,function(t,e){t.memoizedProps=e},function(t,e){t.memoizedState=e});var P=t.adoptClassInstance,j=t.callGetDerivedStateFromProps,I=t.constructClassInstance,M=t.mountClassInstance,R=t.resumeMountClassInstance,N=t.updateClassInstance;return{beginWork:function(t,e,n){if(0===e.expirationTime||e.expirationTime>n){switch(e.tag){case 3:p(e);break;case 2:S(e);break;case 4:b(e,e.stateNode.containerInfo);break;case 13:w(e)}return null}switch(e.tag){case 0:null!==t&&r("155");var o=e.type,i=e.pendingProps,a=x(e);return a=_(e,a),o=o(i,a),e.effectTag|=1,"object"===typeof o&&null!==o&&"function"===typeof o.render&&void 0===o.$$typeof?(a=e.type,e.tag=2,e.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,"function"===typeof a.getDerivedStateFromProps&&null!==(i=j(e,o,i,e.memoizedState))&&void 0!==i&&(e.memoizedState=pn({},e.memoizedState,i)),i=S(e),P(e,o),M(e,n),t=l(t,e,!0,i,!1,n)):(e.tag=1,c(t,e,o),e.memoizedProps=i,t=e.child),t;case 1:return i=e.type,n=e.pendingProps,E()||e.memoizedProps!==n?(o=x(e),o=_(e,o),i=i(n,o),e.effectTag|=1,c(t,e,i),e.memoizedProps=n,t=e.child):t=v(t,e),t;case 2:i=S(e),null===t?null===e.stateNode?(I(e,e.pendingProps),M(e,n),o=!0):o=R(e,n):o=N(t,e,n),a=!1;var u=e.updateQueue;return null!==u&&null!==u.capturedValues&&(a=o=!0),l(t,e,o,i,a,n);case 3:t:if(p(e),null!==(o=e.updateQueue)){if(a=e.memoizedState,i=he(t,e,o,null,null,n),e.memoizedState=i,null!==(o=e.updateQueue)&&null!==o.capturedValues)o=null;else{if(a===i){T(),t=v(t,e);break t}o=i.element}a=e.stateNode,(null===t||null===t.child)&&a.hydrate&&C(e)?(e.effectTag|=2,e.child=bo(e,null,o,n)):(T(),c(t,e,o)),e.memoizedState=i,t=e.child}else T(),t=v(t,e);return t;case 5:return g(e),null===t&&k(e),i=e.type,u=e.memoizedProps,o=e.pendingProps,a=null!==t?t.memoizedProps:null,E()||u!==o||((u=1&e.mode&&m(i,o))&&(e.expirationTime=1073741823),u&&1073741823===n)?(u=o.children,y(i,o)?u=null:a&&y(i,a)&&(e.effectTag|=16),f(t,e),1073741823!==n&&1&e.mode&&m(i,o)?(e.expirationTime=1073741823,e.memoizedProps=o,t=null):(c(t,e,u),e.memoizedProps=o,t=e.child)):t=v(t,e),t;case 6:return null===t&&k(e),e.memoizedProps=e.pendingProps,null;case 8:e.tag=7;case 7:return i=e.pendingProps,E()||e.memoizedProps!==i||(i=e.memoizedProps),o=i.children,e.stateNode=null===t?bo(e,e.stateNode,o,n):go(e,t.stateNode,o,n),e.memoizedProps=i,e.stateNode;case 9:return null;case 4:return b(e,e.stateNode.containerInfo),i=e.pendingProps,E()||e.memoizedProps!==i?(null===t?e.child=go(e,null,i,n):c(t,e,i),e.memoizedProps=i,t=e.child):t=v(t,e),t;case 14:return n=e.type.render,n=n(e.pendingProps,e.ref),c(t,e,n),e.memoizedProps=n,e.child;case 10:return n=e.pendingProps,E()||e.memoizedProps!==n?(c(t,e,n),e.memoizedProps=n,t=e.child):t=v(t,e),t;case 11:return n=e.pendingProps.children,E()||null!==n&&e.memoizedProps!==n?(c(t,e,n),e.memoizedProps=n,t=e.child):t=v(t,e),t;case 13:return d(t,e,n);case 12:t:{o=e.type,a=e.pendingProps,u=e.memoizedProps,i=o._currentValue;var s=o._changedBits;if(E()||0!==s||u!==a){e.memoizedProps=a;var A=a.unstable_observedBits;if(void 0!==A&&null!==A||(A=1073741823),e.stateNode=A,0!==(s&A))h(e,o,s,n);else if(u===a){t=v(t,e);break t}n=a.children,n=n(i),c(t,e,n),t=e.child}else t=v(t,e)}return t;default:r("156")}}}}function we(t,e,n,o,i){function a(t){t.effectTag|=4}var u=t.createInstance,c=t.createTextInstance,s=t.appendInitialChild,f=t.finalizeInitialChildren,l=t.prepareUpdate,p=t.persistence,h=e.getRootHostContainer,d=e.popHostContext,v=e.getHostContext,y=e.popHostContainer,m=n.popContextProvider,g=n.popTopLevelContextObject,b=o.popProvider,w=i.prepareToHydrateHostInstance,_=i.prepareToHydrateHostTextInstance,x=i.popHydrationState,E=void 0,S=void 0,A=void 0;return t.mutation?(E=function(){},S=function(t,e,n){(e.updateQueue=n)&&a(e)},A=function(t,e,n,r){n!==r&&a(e)}):r(p?"235":"236"),{completeWork:function(t,e,n){var o=e.pendingProps;switch(e.tag){case 1:return null;case 2:return m(e),t=e.stateNode,o=e.updateQueue,null!==o&&null!==o.capturedValues&&(e.effectTag&=-65,"function"===typeof t.componentDidCatch?e.effectTag|=256:o.capturedValues=null),null;case 3:return y(e),g(e),o=e.stateNode,o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),null!==t&&null!==t.child||(x(e),e.effectTag&=-3),E(e),t=e.updateQueue,null!==t&&null!==t.capturedValues&&(e.effectTag|=256),null;case 5:d(e),n=h();var i=e.type;if(null!==t&&null!=e.stateNode){var p=t.memoizedProps,O=e.stateNode,C=v();O=l(O,i,p,o,n,C),S(t,e,O,i,p,o,n,C),t.ref!==e.ref&&(e.effectTag|=128)}else{if(!o)return null===e.stateNode&&r("166"),null;if(t=v(),x(e))w(e,n,t)&&a(e);else{p=u(i,o,n,t,e);t:for(C=e.child;null!==C;){if(5===C.tag||6===C.tag)s(p,C.stateNode);else if(4!==C.tag&&null!==C.child){C.child.return=C,C=C.child;continue}if(C===e)break;for(;null===C.sibling;){if(null===C.return||C.return===e)break t;C=C.return}C.sibling.return=C.return,C=C.sibling}f(p,i,o,n,t)&&a(e),e.stateNode=p}null!==e.ref&&(e.effectTag|=128)}return null;case 6:if(t&&null!=e.stateNode)A(t,e,t.memoizedProps,o);else{if("string"!==typeof o)return null===e.stateNode&&r("166"),null;t=h(),n=v(),x(e)?_(e)&&a(e):e.stateNode=c(o,t,n,e)}return null;case 7:(o=e.memoizedProps)||r("165"),e.tag=8,i=[];t:for((p=e.stateNode)&&(p.return=e);null!==p;){if(5===p.tag||6===p.tag||4===p.tag)r("247");else if(9===p.tag)i.push(p.pendingProps.value);else if(null!==p.child){p.child.return=p,p=p.child;continue}for(;null===p.sibling;){if(null===p.return||p.return===e)break t;p=p.return}p.sibling.return=p.return,p=p.sibling}return p=o.handler,o=p(o.props,i),e.child=go(e,null!==t?t.child:null,o,n),e.child;case 8:return e.tag=7,null;case 9:case 14:case 10:case 11:return null;case 4:return y(e),E(e),null;case 13:return b(e),null;case 12:return null;case 0:r("167");default:r("156")}}}}function _e(t,e,n,r,o){var i=t.popHostContainer,a=t.popHostContext,u=e.popContextProvider,c=e.popTopLevelContextObject,s=n.popProvider;return{throwException:function(t,e,n){e.effectTag|=512,e.firstEffect=e.lastEffect=null,e={value:n,source:e,stack:it(e)};do{switch(t.tag){case 3:return fe(t),t.updateQueue.capturedValues=[e],void(t.effectTag|=1024);case 2:if(n=t.stateNode,0===(64&t.effectTag)&&null!==n&&"function"===typeof n.componentDidCatch&&!o(n)){fe(t),n=t.updateQueue;var r=n.capturedValues;return null===r?n.capturedValues=[e]:r.push(e),void(t.effectTag|=1024)}}t=t.return}while(null!==t)},unwindWork:function(t){switch(t.tag){case 2:u(t);var e=t.effectTag;return 1024&e?(t.effectTag=-1025&e|64,t):null;case 3:return i(t),c(t),e=t.effectTag,1024&e?(t.effectTag=-1025&e|64,t):null;case 5:return a(t),null;case 4:return i(t),null;case 13:return s(t),null;default:return null}},unwindInterruptedWork:function(t){switch(t.tag){case 2:u(t);break;case 3:i(t),c(t);break;case 5:a(t);break;case 4:i(t);break;case 13:s(t)}}}}function xe(t,e){var n=e.source;null===e.stack&&it(n),null!==n&&ot(n),e=e.value,null!==t&&2===t.tag&&ot(t);try{e&&e.suppressReactErrorLogging}catch(t){t&&t.suppressReactErrorLogging}}function Ee(t,e,n,o,i){function a(t){var n=t.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(n){e(t,n)}else n.current=null}function u(t){switch("function"===typeof ue&&ue(t),t.tag){case 2:a(t);var n=t.stateNode;if("function"===typeof n.componentWillUnmount)try{n.props=t.memoizedProps,n.state=t.memoizedState,n.componentWillUnmount()}catch(n){e(t,n)}break;case 5:a(t);break;case 7:c(t.stateNode);break;case 4:p&&f(t)}}function c(t){for(var e=t;;)if(u(e),null===e.child||p&&4===e.tag){if(e===t)break;for(;null===e.sibling;){if(null===e.return||e.return===t)return;e=e.return}e.sibling.return=e.return,e=e.sibling}else e.child.return=e,e=e.child}function s(t){return 5===t.tag||3===t.tag||4===t.tag}function f(t){for(var e=t,n=!1,o=void 0,i=void 0;;){if(!n){n=e.return;t:for(;;){switch(null===n&&r("160"),n.tag){case 5:o=n.stateNode,i=!1;break t;case 3:case 4:o=n.stateNode.containerInfo,i=!0;break t}n=n.return}n=!0}if(5===e.tag||6===e.tag)c(e),i?x(o,e.stateNode):_(o,e.stateNode);else if(4===e.tag?o=e.stateNode.containerInfo:u(e),null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break;for(;null===e.sibling;){if(null===e.return||e.return===t)return;e=e.return,4===e.tag&&(n=!1)}e.sibling.return=e.return,e=e.sibling}}var l=t.getPublicInstance,p=t.mutation;t=t.persistence,p||r(t?"235":"236");var h=p.commitMount,d=p.commitUpdate,v=p.resetTextContent,y=p.commitTextUpdate,m=p.appendChild,g=p.appendChildToContainer,b=p.insertBefore,w=p.insertInContainerBefore,_=p.removeChild,x=p.removeChildFromContainer;return{commitBeforeMutationLifeCycles:function(t,e){switch(e.tag){case 2:if(2048&e.effectTag&&null!==t){var n=t.memoizedProps,o=t.memoizedState;t=e.stateNode,t.props=e.memoizedProps,t.state=e.memoizedState,e=t.getSnapshotBeforeUpdate(n,o),t.__reactInternalSnapshotBeforeUpdate=e}break;case 3:case 5:case 6:case 4:break;default:r("163")}},commitResetTextContent:function(t){v(t.stateNode)},commitPlacement:function(t){t:{for(var e=t.return;null!==e;){if(s(e)){var n=e;break t}e=e.return}r("160"),n=void 0}var o=e=void 0;switch(n.tag){case 5:e=n.stateNode,o=!1;break;case 3:case 4:e=n.stateNode.containerInfo,o=!0;break;default:r("161")}16&n.effectTag&&(v(e),n.effectTag&=-17);t:e:for(n=t;;){for(;null===n.sibling;){if(null===n.return||s(n.return)){n=null;break t}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue e;if(null===n.child||4===n.tag)continue e;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break t}}for(var i=t;;){if(5===i.tag||6===i.tag)n?o?w(e,i.stateNode,n):b(e,i.stateNode,n):o?g(e,i.stateNode):m(e,i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},commitDeletion:function(t){f(t),t.return=null,t.child=null,t.alternate&&(t.alternate.child=null,t.alternate.return=null)},commitWork:function(t,e){switch(e.tag){case 2:break;case 5:var n=e.stateNode;if(null!=n){var o=e.memoizedProps;t=null!==t?t.memoizedProps:o;var i=e.type,a=e.updateQueue;e.updateQueue=null,null!==a&&d(n,a,i,t,o,e)}break;case 6:null===e.stateNode&&r("162"),n=e.memoizedProps,y(e.stateNode,null!==t?t.memoizedProps:n,n);break;case 3:break;default:r("163")}},commitLifeCycles:function(t,e,n){switch(n.tag){case 2:if(t=n.stateNode,4&n.effectTag)if(null===e)t.props=n.memoizedProps,t.state=n.memoizedState,t.componentDidMount();else{var o=e.memoizedProps;e=e.memoizedState,t.props=n.memoizedProps,t.state=n.memoizedState,t.componentDidUpdate(o,e,t.__reactInternalSnapshotBeforeUpdate)}n=n.updateQueue,null!==n&&de(n,t);break;case 3:if(null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 5:t=l(n.child.stateNode);break;case 2:t=n.child.stateNode}de(e,t)}break;case 5:t=n.stateNode,null===e&&4&n.effectTag&&h(t,n.type,n.memoizedProps,n);break;case 6:case 4:break;default:r("163")}},commitErrorLogging:function(t,e){switch(t.tag){case 2:var n=t.type;e=t.stateNode;var o=t.updateQueue;(null===o||null===o.capturedValues)&&r("264");var a=o.capturedValues;for(o.capturedValues=null,"function"!==typeof n.getDerivedStateFromCatch&&i(e),e.props=t.memoizedProps,e.state=t.memoizedState,n=0;ne||(n.current=t[e],t[e]=null,e--)},push:function(n,r){e++,t[e]=n.current,n.current=r},checkThatStackIsEmpty:function(){},resetStackAfterFatalErrorInDev:function(){}}}function ke(t){function e(){if(null!==$)for(var t=$.return;null!==t;)I(t),t=t.return;tt=null,et=0,$=null,ot=!1}function n(t){return null!==at&&at.has(t)}function o(t){for(;;){var e=t.alternate,n=t.return,r=t.sibling;if(0===(512&t.effectTag)){e=k(e,t,et);var o=t;if(1073741823===et||1073741823!==o.expirationTime){t:switch(o.tag){case 3:case 2:var i=o.updateQueue;i=null===i?0:i.expirationTime;break t;default:i=0}for(var a=o.child;null!==a;)0!==a.expirationTime&&(0===i||i>a.expirationTime)&&(i=a.expirationTime),a=a.sibling;o.expirationTime=i}if(null!==e)return e;if(null!==n&&0===(512&n.effectTag)&&(null===n.firstEffect&&(n.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=t.firstEffect),n.lastEffect=t.lastEffect),1dt)&&(dt=t),t}function f(t,n){t:{for(;null!==t;){if((0===t.expirationTime||t.expirationTime>n)&&(t.expirationTime=n),null!==t.alternate&&(0===t.alternate.expirationTime||t.alternate.expirationTime>n)&&(t.alternate.expirationTime=n),null===t.return){if(3!==t.tag){n=void 0;break t}var o=t.stateNode;!Z&&0!==et&&nEt&&r("185")}t=t.return}n=void 0}return n}function l(){return Q=q()-Y,G=2+(Q/10|0)}function p(t,e,n,r,o){var i=X;X=1;try{return t(e,n,r,o)}finally{X=i}}function h(t){if(0!==st){if(t>st)return;H(ft)}var e=q()-Y;st=t,ft=W(y,{timeout:10*(t-2)-e})}function d(t,e){if(null===t.nextScheduledRoot)t.remainingExpirationTime=e,null===ct?(ut=ct=t,t.nextScheduledRoot=t):(ct=ct.nextScheduledRoot=t,ct.nextScheduledRoot=ut);else{var n=t.remainingExpirationTime;(0===n||e=ht)&&(!vt||l()>=ht);)w(pt,ht,!vt),v();else for(;null!==pt&&0!==ht&&(0===t||t>=ht);)w(pt,ht,!1),v();null!==gt&&(st=0,ft=-1),0!==ht&&h(ht),gt=null,vt=!1,b()}function b(){if(St=0,null!==xt){var t=xt;xt=null;for(var e=0;eAt)&&(vt=!0)}function E(t){null===pt&&r("246"),pt.remainingExpirationTime=0,yt||(yt=!0,mt=t)}var S=Te(),A=Se(t,S),O=Oe(S);S=Ce(S);var C=Ae(t),T=be(t,A,O,S,C,f,s).beginWork,k=we(t,A,O,S,C).completeWork;A=_e(A,O,S,f,n);var P=A.throwException,j=A.unwindWork,I=A.unwindInterruptedWork;A=Ee(t,c,f,s,function(t){null===at?at=new Set([t]):at.add(t)},l);var M=A.commitBeforeMutationLifeCycles,R=A.commitResetTextContent,N=A.commitPlacement,D=A.commitDeletion,L=A.commitWork,U=A.commitLifeCycles,F=A.commitErrorLogging,B=A.commitAttachRef,z=A.commitDetachRef,q=t.now,W=t.scheduleDeferredCallback,H=t.cancelDeferredCallback,V=t.prepareForCommit,K=t.resetAfterCommit,Y=q(),G=2,Q=Y,J=0,X=0,Z=!1,$=null,tt=null,et=0,nt=null,rt=!1,ot=!1,at=null,ut=null,ct=null,st=0,ft=-1,lt=!1,pt=null,ht=0,dt=0,vt=!1,yt=!1,mt=null,gt=null,bt=!1,wt=!1,_t=!1,xt=null,Et=1e3,St=0,At=1;return{recalculateCurrentTime:l,computeExpirationForFiber:s,scheduleWork:f,requestWork:d,flushRoot:function(t,e){lt&&r("253"),pt=t,ht=e,w(t,e,!1),m(),b()},batchedUpdates:function(t,e){var n=bt;bt=!0;try{return t(e)}finally{(bt=n)||lt||m()}},unbatchedUpdates:function(t,e){if(bt&&!wt){wt=!0;try{return t(e)}finally{wt=!1}}return t(e)},flushSync:function(t,e){lt&&r("187");var n=bt;bt=!0;try{return p(t,e)}finally{bt=n,m()}},flushControlled:function(t){var e=bt;bt=!0;try{p(t)}finally{(bt=e)||lt||g(1,!1,null)}},deferredUpdates:function(t){var e=X;X=25*(1+((l()+500)/25|0));try{return t()}finally{X=e}},syncUpdates:p,interactiveUpdates:function(t,e,n){if(_t)return t(e,n);bt||lt||0===dt||(g(dt,!1,null),dt=0);var r=_t,o=bt;bt=_t=!0;try{return t(e,n)}finally{_t=r,(bt=o)||lt||m()}},flushInteractiveUpdates:function(){lt||0===dt||(g(dt,!1,null),dt=0)},computeUniqueAsyncExpiration:function(){var t=25*(1+((l()+500)/25|0));return t<=J&&(t=J+1),J=t},legacyContext:O}}function Pe(t){function e(t,e,n,r,o,i){if(r=e.current,n){n=n._reactInternalFiber;var u=c(n);n=s(n)?f(n,u):u}else n=mn;return null===e.context?e.context=n:e.pendingContext=n,e=i,le(r,{expirationTime:o,partialState:{element:t},callback:void 0===e?null:e,isReplace:!1,isForced:!1,capturedValue:null,next:null}),a(r,o),o}var n=t.getPublicInstance;t=ke(t);var o=t.recalculateCurrentTime,i=t.computeExpirationForFiber,a=t.scheduleWork,u=t.legacyContext,c=u.findCurrentUnmaskedContext,s=u.isContextProvider,f=u.processChildContext;return{createContainer:function(t,e,n){return e=new Zt(3,null,null,e?3:0),t={current:e,containerInfo:t,pendingChildren:null,pendingCommitExpirationTime:0,finishedWork:null,context:null,pendingContext:null,hydrate:n,remainingExpirationTime:0,firstBatch:null,nextScheduledRoot:null},e.stateNode=t},updateContainer:function(t,n,r,a){var u=n.current,c=o();return u=i(u),e(t,n,r,c,u,a)},updateContainerAtExpirationTime:function(t,n,r,i,a){return e(t,n,r,o(),i,a)},flushRoot:t.flushRoot,requestWork:t.requestWork,computeUniqueAsyncExpiration:t.computeUniqueAsyncExpiration,batchedUpdates:t.batchedUpdates,unbatchedUpdates:t.unbatchedUpdates,deferredUpdates:t.deferredUpdates,syncUpdates:t.syncUpdates,interactiveUpdates:t.interactiveUpdates,flushInteractiveUpdates:t.flushInteractiveUpdates,flushControlled:t.flushControlled,flushSync:t.flushSync,getPublicRootInstance:function(t){if(t=t.current,!t.child)return null;switch(t.child.tag){case 5:return n(t.child.stateNode);default:return t.child.stateNode}},findHostInstance:function(t){var e=t._reactInternalFiber;return void 0===e&&("function"===typeof t.render?r("188"):r("268",Object.keys(t))),t=Nt(e),null===t?null:t.stateNode},findHostInstanceWithNoPortals:function(t){return t=Dt(t),null===t?null:t.stateNode},injectIntoDevTools:function(t){var e=t.findFiberByHostInstance;return ie(pn({},t,{findHostInstanceByFiber:function(t){return t=Nt(t),null===t?null:t.stateNode},findFiberByHostInstance:function(t){return e?e(t):null}}))}}}function je(t,e,n){var r=3=e.length||r("93"),e=e[0]),n=""+e),null==n&&(n="")),t._wrapperState={initialValue:""+n}}function Ue(t,e){var n=e.value;null!=n&&(n=""+n,n!==t.value&&(t.value=n),null==e.defaultValue&&(t.defaultValue=n)),null!=e.defaultValue&&(t.defaultValue=e.defaultValue)}function Fe(t){var e=t.textContent;e===t._wrapperState.initialValue&&(t.value=e)}function Be(t){switch(t){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ze(t,e){return null==t||"http://www.w3.org/1999/xhtml"===t?Be(e):"http://www.w3.org/2000/svg"===t&&"foreignObject"===e?"http://www.w3.org/1999/xhtml":t}function qe(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&3===n.nodeType)return void(n.nodeValue=e)}t.textContent=e}function We(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=n,i=e[n];o=null==i||"boolean"===typeof i||""===i?"":r||"number"!==typeof i||0===i||zo.hasOwnProperty(o)&&zo[o]?(""+i).trim():i+"px","float"===n&&(n="cssFloat"),r?t.setProperty(n,o):t[n]=o}}function He(t,e,n){e&&(Wo[t]&&(null!=e.children||null!=e.dangerouslySetInnerHTML)&&r("137",t,n()),null!=e.dangerouslySetInnerHTML&&(null!=e.children&&r("60"),"object"===typeof e.dangerouslySetInnerHTML&&"__html"in e.dangerouslySetInnerHTML||r("61")),null!=e.style&&"object"!==typeof e.style&&r("62",n()))}function Ve(t,e){if(-1===t.indexOf("-"))return"string"===typeof e.is;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ke(t,e){t=9===t.nodeType||11===t.nodeType?t:t.ownerDocument;var n=Yt(t);e=Sn[e];for(var r=0;r<\/script>",t=t.removeChild(t.firstChild)):t="string"===typeof e.is?n.createElement(t,{is:e.is}):n.createElement(t):t=n.createElementNS(r,t),t}function Ge(t,e){return(9===e.nodeType?e:e.ownerDocument).createTextNode(t)}function Qe(t,e,n,r){var o=Ve(e,n);switch(e){case"iframe":case"object":zt("topLoad","load",t);var i=n;break;case"video":case"audio":for(i in eo)eo.hasOwnProperty(i)&&zt(i,eo[i],t);i=n;break;case"source":zt("topError","error",t),i=n;break;case"img":case"image":case"link":zt("topError","error",t),zt("topLoad","load",t),i=n;break;case"form":zt("topReset","reset",t),zt("topSubmit","submit",t),i=n;break;case"details":zt("topToggle","toggle",t),i=n;break;case"input":ht(t,n),i=pt(t,n),zt("topInvalid","invalid",t),Ke(r,"onChange");break;case"option":i=Me(t,n);break;case"select":Ne(t,n),i=pn({},n,{value:void 0}),zt("topInvalid","invalid",t),Ke(r,"onChange");break;case"textarea":Le(t,n),i=De(t,n),zt("topInvalid","invalid",t),Ke(r,"onChange");break;default:i=n}He(e,i,Ho);var a,u=i;for(a in u)if(u.hasOwnProperty(a)){var c=u[a];"style"===a?We(t,c,Ho):"dangerouslySetInnerHTML"===a?null!=(c=c?c.__html:void 0)&&Bo(t,c):"children"===a?"string"===typeof c?("textarea"!==e||""!==c)&&qe(t,c):"number"===typeof c&&qe(t,""+c):"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&"autoFocus"!==a&&(En.hasOwnProperty(a)?null!=c&&Ke(r,a):null!=c&<(t,a,c,o))}switch(e){case"input":et(t),yt(t,n);break;case"textarea":et(t),Fe(t,n);break;case"option":null!=n.value&&t.setAttribute("value",n.value);break;case"select":t.multiple=!!n.multiple,e=n.value,null!=e?Re(t,!!n.multiple,e,!1):null!=n.defaultValue&&Re(t,!!n.multiple,n.defaultValue,!0);break;default:"function"===typeof i.onClick&&(t.onclick=hn)}}function Je(t,e,n,r,o){var i=null;switch(e){case"input":n=pt(t,n),r=pt(t,r),i=[];break;case"option":n=Me(t,n),r=Me(t,r),i=[];break;case"select":n=pn({},n,{value:void 0}),r=pn({},r,{value:void 0}),i=[];break;case"textarea":n=De(t,n),r=De(t,r),i=[];break;default:"function"!==typeof n.onClick&&"function"===typeof r.onClick&&(t.onclick=hn)}He(e,r,Ho),e=t=void 0;var a=null;for(t in n)if(!r.hasOwnProperty(t)&&n.hasOwnProperty(t)&&null!=n[t])if("style"===t){var u=n[t];for(e in u)u.hasOwnProperty(e)&&(a||(a={}),a[e]="")}else"dangerouslySetInnerHTML"!==t&&"children"!==t&&"suppressContentEditableWarning"!==t&&"suppressHydrationWarning"!==t&&"autoFocus"!==t&&(En.hasOwnProperty(t)?i||(i=[]):(i=i||[]).push(t,null));for(t in r){var c=r[t];if(u=null!=n?n[t]:void 0,r.hasOwnProperty(t)&&c!==u&&(null!=c||null!=u))if("style"===t)if(u){for(e in u)!u.hasOwnProperty(e)||c&&c.hasOwnProperty(e)||(a||(a={}),a[e]="");for(e in c)c.hasOwnProperty(e)&&u[e]!==c[e]&&(a||(a={}),a[e]=c[e])}else a||(i||(i=[]),i.push(t,a)),a=c;else"dangerouslySetInnerHTML"===t?(c=c?c.__html:void 0,u=u?u.__html:void 0,null!=c&&u!==c&&(i=i||[]).push(t,""+c)):"children"===t?u===c||"string"!==typeof c&&"number"!==typeof c||(i=i||[]).push(t,""+c):"suppressContentEditableWarning"!==t&&"suppressHydrationWarning"!==t&&(En.hasOwnProperty(t)?(null!=c&&Ke(o,t),i||u===c||(i=[])):(i=i||[]).push(t,c))}return a&&(i=i||[]).push("style",a),i}function Xe(t,e,n,r,o){"input"===n&&"radio"===o.type&&null!=o.name&&dt(t,o),Ve(n,r),r=Ve(n,o);for(var i=0;i=Vn),Gn=String.fromCharCode(32),Qn={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},Jn=!1,Xn=!1,Zn={eventTypes:Qn,extractEvents:function(t,e,n,r){var o=void 0,i=void 0;if(Hn)t:{switch(t){case"topCompositionStart":o=Qn.compositionStart;break t;case"topCompositionEnd":o=Qn.compositionEnd;break t;case"topCompositionUpdate":o=Qn.compositionUpdate;break t}o=void 0}else Xn?U(t,n)&&(o=Qn.compositionEnd):"topKeyDown"===t&&229===n.keyCode&&(o=Qn.compositionStart);return o?(Yn&&(Xn||o!==Qn.compositionStart?o===Qn.compositionEnd&&Xn&&(i=I()):(Un._root=r,Un._startText=M(),Xn=!0)),o=zn.getPooled(o,e,n,r),i?o.data=i:null!==(i=F(n))&&(o.data=i),k(o),i=o):i=null,(t=Kn?B(t,n):z(t,n))?(e=qn.getPooled(Qn.beforeInput,e,n,r),e.data=t,k(e)):e=null,null===i?e:null===e?i:[i,e]}},$n=null,tr={injectFiberControlledHostComponent:function(t){$n=t}},er=null,nr=null,rr=Object.freeze({injection:tr,enqueueStateRestore:W,needsStateRestore:H,restoreStateIfNeeded:V}),or=!1,ir={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},ar=fn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ur="function"===typeof Symbol&&Symbol.for,cr=ur?Symbol.for("react.element"):60103,sr=ur?Symbol.for("react.call"):60104,fr=ur?Symbol.for("react.return"):60105,lr=ur?Symbol.for("react.portal"):60106,pr=ur?Symbol.for("react.fragment"):60107,hr=ur?Symbol.for("react.strict_mode"):60108,dr=ur?Symbol.for("react.provider"):60109,vr=ur?Symbol.for("react.context"):60110,yr=ur?Symbol.for("react.async_mode"):60111,mr=ur?Symbol.for("react.forward_ref"):60112,gr="function"===typeof Symbol&&Symbol.iterator,br=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,wr={},_r={},xr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){xr[t]=new st(t,0,!1,t,null)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];xr[e]=new st(e,1,!1,t[1],null)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){xr[t]=new st(t,2,!1,t.toLowerCase(),null)}),["autoReverse","externalResourcesRequired","preserveAlpha"].forEach(function(t){xr[t]=new st(t,2,!1,t,null)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){xr[t]=new st(t,3,!1,t.toLowerCase(),null)}),["checked","multiple","muted","selected"].forEach(function(t){xr[t]=new st(t,3,!0,t.toLowerCase(),null)}),["capture","download"].forEach(function(t){xr[t]=new st(t,4,!1,t.toLowerCase(),null)}),["cols","rows","size","span"].forEach(function(t){xr[t]=new st(t,6,!1,t.toLowerCase(),null)}),["rowSpan","start"].forEach(function(t){xr[t]=new st(t,5,!1,t.toLowerCase(),null)});var Er=/[\-:]([a-z])/g;"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Er,ft);xr[e]=new st(e,1,!1,t,null)}),"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Er,ft);xr[e]=new st(e,1,!1,t,"http://www.w3.org/1999/xlink")}),["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Er,ft);xr[e]=new st(e,1,!1,t,"http://www.w3.org/XML/1998/namespace")}),xr.tabIndex=new st("tabIndex",1,!1,"tabindex",null);var Sr={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"topBlur topChange topClick topFocus topInput topKeyDown topKeyUp topSelectionChange".split(" ")}},Ar=null,Or=null,Cr=!1;ln.canUseDOM&&(Cr=Z("input")&&(!document.documentMode||9=document.documentMode,ao={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},uo=null,co=null,so=null,fo=!1,lo={eventTypes:ao,extractEvents:function(t,e,n,r){var o,i=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(o=!i)){t:{i=Yt(i),o=Sn.onSelect;for(var a=0;a=Io-t){if(!(-1!==Po&&Po<=t))return void(jo||(jo=!0,requestAnimationFrame(Lo)));No.didTimeout=!0}else No.didTimeout=!1;Po=-1,t=To,To=null,null!==t&&t(No)}},!1);var Lo=function(t){jo=!1;var e=t-Io+Ro;ee&&(e=8),Ro=e"+e+"",e=Fo.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}}),zo={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qo=["Webkit","ms","Moz","O"];Object.keys(zo).forEach(function(t){qo.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),zo[e]=zo[t]})});var Wo=pn({menuitem:!0},{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}),Ho=hn.thatReturns(""),Vo=Object.freeze({createElement:Ye,createTextNode:Ge,setInitialProperties:Qe,diffProperties:Je,updateProperties:Xe,diffHydratedProperties:Ze,diffHydratedText:$e,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(t,e,n){switch(e){case"input":if(vt(t,n),e=n.name,"radio"===n.type&&null!=e){for(n=t;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+e)+'][type="radio"]'),e=0;er&&(o=r,r=t,t=o),o=Qt(n,t);var i=Qt(n,r);if(o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)){var a=document.createRange();a.setStart(o.node,o.offset),e.removeAllRanges(),t>r?(e.addRange(a),e.extend(i.node,i.offset)):(a.setEnd(i.node,i.offset),e.addRange(a))}}for(e=[],t=n;t=t.parentNode;)1===t.nodeType&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(n.focus(),n=0;n ignores the history prop. To use a custom history, use `import { Router }` instead of `import { BrowserRouter as Router }`.")},e.prototype.render=function(){return s.a.createElement(d.a,{history:this.history,children:this.props.children})},e}(s.a.Component);v.propTypes={basename:l.a.string,forceRefresh:l.a.bool,getUserConfirmation:l.a.func,keyLength:l.a.number,children:l.a.node}},function(t,e,n){"use strict";var r=n(104),o=n(103),i=n(407);t.exports=function(){function t(t,e,n,r,a,u){u!==i&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function e(){return t}t.isRequired=t;var n={array:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e};return n.checkPropTypes=r,n.PropTypes=n,n}},function(t,e,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};(0,s.default)(d.canUseDOM,"Browser history needs a DOM");var e=window.history,n=(0,d.supportsHistory)(),r=!(0,d.supportsPopStateOnHashChange)(),a=t.forceRefresh,c=void 0!==a&&a,p=t.getUserConfirmation,y=void 0===p?d.getConfirmation:p,m=t.keyLength,g=void 0===m?6:m,b=t.basename?(0,l.stripTrailingSlash)((0,l.addLeadingSlash)(t.basename)):"",w=function(t){var e=t||{},n=e.key,r=e.state,o=window.location,i=o.pathname,a=o.search,c=o.hash,s=i+a+c;return(0,u.default)(!b||(0,l.hasBasename)(s,b),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+s+'" to begin with "'+b+'".'),b&&(s=(0,l.stripBasename)(s,b)),(0,f.createLocation)(s,r,n)},_=function(){return Math.random().toString(36).substr(2,g)},x=(0,h.default)(),E=function(t){i(q,t),q.length=e.length,x.notifyListeners(q.location,q.action)},S=function(t){(0,d.isExtraneousPopstateEvent)(t)||C(w(t.state))},A=function(){C(w(v()))},O=!1,C=function(t){if(O)O=!1,E();else{x.confirmTransitionTo(t,"POP",y,function(e){e?E({action:"POP",location:t}):T(t)})}},T=function(t){var e=q.location,n=P.indexOf(e.key);-1===n&&(n=0);var r=P.indexOf(t.key);-1===r&&(r=0);var o=n-r;o&&(O=!0,R(o))},k=w(v()),P=[k.key],j=function(t){return b+(0,l.createPath)(t)},I=function(t,r){(0,u.default)(!("object"===("undefined"===typeof t?"undefined":o(t))&&void 0!==t.state&&void 0!==r),"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored");var i=(0,f.createLocation)(t,r,_(),q.location);x.confirmTransitionTo(i,"PUSH",y,function(t){if(t){var r=j(i),o=i.key,a=i.state;if(n)if(e.pushState({key:o,state:a},null,r),c)window.location.href=r;else{var s=P.indexOf(q.location.key),f=P.slice(0,-1===s?0:s+1);f.push(i.key),P=f,E({action:"PUSH",location:i})}else(0,u.default)(void 0===a,"Browser history cannot push state in browsers that do not support HTML5 history"),window.location.href=r}})},M=function(t,r){(0,u.default)(!("object"===("undefined"===typeof t?"undefined":o(t))&&void 0!==t.state&&void 0!==r),"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored");var i=(0,f.createLocation)(t,r,_(),q.location);x.confirmTransitionTo(i,"REPLACE",y,function(t){if(t){var r=j(i),o=i.key,a=i.state;if(n)if(e.replaceState({key:o,state:a},null,r),c)window.location.replace(r);else{var s=P.indexOf(q.location.key);-1!==s&&(P[s]=i.key),E({action:"REPLACE",location:i})}else(0,u.default)(void 0===a,"Browser history cannot replace state in browsers that do not support HTML5 history"),window.location.replace(r)}})},R=function(t){e.go(t)},N=function(){return R(-1)},D=function(){return R(1)},L=0,U=function(t){L+=t,1===L?((0,d.addEventListener)(window,"popstate",S),r&&(0,d.addEventListener)(window,"hashchange",A)):0===L&&((0,d.removeEventListener)(window,"popstate",S),r&&(0,d.removeEventListener)(window,"hashchange",A))},F=!1,B=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=x.setPrompt(t);return F||(U(1),F=!0),function(){return F&&(F=!1,U(-1)),e()}},z=function(t){var e=x.appendListener(t);return U(1),function(){U(-1),e()}},q={length:e.length,action:"POP",location:k,createHref:j,push:I,replace:M,go:R,goBack:N,goForward:D,block:B,listen:z};return q};e.default=y},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function i(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=n(12),u=n.n(a),c=n(5),s=n.n(c),f=n(7),l=n.n(f),p=n(410),h=n.n(p),d=n(107),v=function(t){function e(){var n,i,a;r(this,e);for(var u=arguments.length,c=Array(u),s=0;s ignores the history prop. To use a custom history, use `import { Router }` instead of `import { HashRouter as Router }`.")},e.prototype.render=function(){return s.a.createElement(d.a,{history:this.history,children:this.props.children})},e}(s.a.Component);v.propTypes={basename:l.a.string,getUserConfirmation:l.a.func,hashType:l.a.oneOf(["hashbang","noslash","slash"]),children:l.a.node},e.a=v},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=Object.assign||function(t){for(var e=1;e=0?e:0)+"#"+t)},g=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,c.default)(h.canUseDOM,"Hash history needs a DOM");var e=window.history,n=(0,h.supportsGoWithoutReloadUsingHash)(),r=t.getUserConfirmation,i=void 0===r?h.getConfirmation:r,u=t.hashType,l=void 0===u?"slash":u,g=t.basename?(0,f.stripTrailingSlash)((0,f.addLeadingSlash)(t.basename)):"",b=d[l],w=b.encodePath,_=b.decodePath,x=function(){var t=_(v());return(0,a.default)(!g||(0,f.hasBasename)(t,g),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+t+'" to begin with "'+g+'".'),g&&(t=(0,f.stripBasename)(t,g)),(0,s.createLocation)(t)},E=(0,p.default)(),S=function(t){o(V,t),V.length=e.length,E.notifyListeners(V.location,V.action)},A=!1,O=null,C=function(){var t=v(),e=w(t);if(t!==e)m(e);else{var n=x(),r=V.location;if(!A&&(0,s.locationsAreEqual)(r,n))return;if(O===(0,f.createPath)(n))return;O=null,T(n)}},T=function(t){if(A)A=!1,S();else{E.confirmTransitionTo(t,"POP",i,function(e){e?S({action:"POP",location:t}):k(t)})}},k=function(t){var e=V.location,n=M.lastIndexOf((0,f.createPath)(e));-1===n&&(n=0);var r=M.lastIndexOf((0,f.createPath)(t));-1===r&&(r=0);var o=n-r;o&&(A=!0,L(o))},P=v(),j=w(P);P!==j&&m(j);var I=x(),M=[(0,f.createPath)(I)],R=function(t){return"#"+w(g+(0,f.createPath)(t))},N=function(t,e){(0,a.default)(void 0===e,"Hash history cannot push state; it is ignored");var n=(0,s.createLocation)(t,void 0,void 0,V.location);E.confirmTransitionTo(n,"PUSH",i,function(t){if(t){var e=(0,f.createPath)(n),r=w(g+e);if(v()!==r){O=e,y(r);var o=M.lastIndexOf((0,f.createPath)(V.location)),i=M.slice(0,-1===o?0:o+1);i.push(e),M=i,S({action:"PUSH",location:n})}else(0,a.default)(!1,"Hash history cannot PUSH the same path; a new entry will not be added to the history stack"),S()}})},D=function(t,e){(0,a.default)(void 0===e,"Hash history cannot replace state; it is ignored");var n=(0,s.createLocation)(t,void 0,void 0,V.location);E.confirmTransitionTo(n,"REPLACE",i,function(t){if(t){var e=(0,f.createPath)(n),r=w(g+e);v()!==r&&(O=e,m(r));var o=M.indexOf((0,f.createPath)(V.location));-1!==o&&(M[o]=e),S({action:"REPLACE",location:n})}})},L=function(t){(0,a.default)(n,"Hash history go(n) causes a full page reload in this browser"),e.go(t)},U=function(){return L(-1)},F=function(){return L(1)},B=0,z=function(t){B+=t,1===B?(0,h.addEventListener)(window,"hashchange",C):0===B&&(0,h.removeEventListener)(window,"hashchange",C)},q=!1,W=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=E.setPrompt(t);return q||(z(1),q=!0),function(){return q&&(q=!1,z(-1)),e()}},H=function(t){var e=E.appendListener(t);return z(1),function(){z(-1),e()}},V={length:e.length,action:"POP",location:I,createHref:R,push:N,replace:D,go:L,goBack:U,goForward:F,block:W,listen:H};return V};e.default=g},function(t,e,n){"use strict";var r=n(412);r.a},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function i(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=n(12),u=n.n(a),c=n(5),s=n.n(c),f=n(7),l=n.n(f),p=n(413),h=n.n(p),d=n(108),v=function(t){function e(){var n,i,a;r(this,e);for(var u=arguments.length,c=Array(u),s=0;s ignores the history prop. To use a custom history, use `import { Router }` instead of `import { MemoryRouter as Router }`.")},e.prototype.render=function(){return s.a.createElement(d.a,{history:this.history,children:this.props.children})},e}(s.a.Component);v.propTypes={initialEntries:l.a.array,initialIndex:l.a.number,getUserConfirmation:l.a.func,keyLength:l.a.number,children:l.a.node},e.a=v},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=t.getUserConfirmation,n=t.initialEntries,r=void 0===n?["/"]:n,a=t.initialIndex,f=void 0===a?0:a,h=t.keyLength,d=void 0===h?6:h,v=(0,l.default)(),y=function(t){i(k,t),k.length=k.entries.length,v.notifyListeners(k.location,k.action)},m=function(){return Math.random().toString(36).substr(2,d)},g=p(f,0,r.length-1),b=r.map(function(t){return"string"===typeof t?(0,s.createLocation)(t,void 0,m()):(0,s.createLocation)(t,void 0,t.key||m())}),w=c.createPath,_=function(t,n){(0,u.default)(!("object"===("undefined"===typeof t?"undefined":o(t))&&void 0!==t.state&&void 0!==n),"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored");var r=(0,s.createLocation)(t,n,m(),k.location);v.confirmTransitionTo(r,"PUSH",e,function(t){if(t){var e=k.index,n=e+1,o=k.entries.slice(0);o.length>n?o.splice(n,o.length-n,r):o.push(r),y({action:"PUSH",location:r,index:n,entries:o})}})},x=function(t,n){(0,u.default)(!("object"===("undefined"===typeof t?"undefined":o(t))&&void 0!==t.state&&void 0!==n),"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored");var r=(0,s.createLocation)(t,n,m(),k.location);v.confirmTransitionTo(r,"REPLACE",e,function(t){t&&(k.entries[k.index]=r,y({action:"REPLACE",location:r}))})},E=function(t){var n=p(k.index+t,0,k.entries.length-1),r=k.entries[n];v.confirmTransitionTo(r,"POP",e,function(t){t?y({action:"POP",location:r,index:n}):y()})},S=function(){return E(-1)},A=function(){return E(1)},O=function(t){var e=k.index+t;return e>=0&&e0&&void 0!==arguments[0]&&arguments[0];return v.setPrompt(t)},T=function(t){return v.appendListener(t)},k={length:b.length,action:"POP",location:b[g],index:g,entries:b,createHref:w,push:_,replace:x,go:E,goBack:S,goForward:A,canGo:O,block:C,listen:T};return k};e.default=h},function(t,e,n){"use strict";function r(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}var o=n(5),i=n.n(o),a=n(7),u=n.n(a),c=n(158),s=n(157),f=Object.assign||function(t){for(var e=1;e outside a "),this.props.when&&this.enable(this.props.message)},e.prototype.componentWillReceiveProps=function(t){t.when?this.props.when&&this.props.message===t.message||this.enable(t.message):this.disable()},e.prototype.componentWillUnmount=function(){this.disable()},e.prototype.render=function(){return null},e}(u.a.Component);p.propTypes={when:s.a.bool,message:s.a.oneOfType([s.a.func,s.a.string]).isRequired},p.defaultProps={when:!0},p.contextTypes={router:s.a.shape({history:s.a.shape({block:s.a.func.isRequired}).isRequired}).isRequired},e.a=p},function(t,e,n){"use strict";var r=n(420);e.a=r.a},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function i(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=n(5),u=n.n(a),c=n(7),s=n.n(c),f=n(12),l=n.n(f),p=n(21),h=n.n(p),d=n(421),v=function(t){function e(){return r(this,e),o(this,t.apply(this,arguments))}return i(e,t),e.prototype.isStatic=function(){return this.context.router&&this.context.router.staticContext},e.prototype.componentWillMount=function(){h()(this.context.router,"You should not use outside a "),this.isStatic()&&this.perform()},e.prototype.componentDidMount=function(){this.isStatic()||this.perform()},e.prototype.componentDidUpdate=function(t){var e=Object(d.a)(t.to),n=Object(d.a)(this.props.to);if(Object(d.b)(e,n))return void l()(!1,"You tried to redirect to the same route you're currently on: \""+n.pathname+n.search+'"');this.perform()},e.prototype.perform=function(){var t=this.context.router.history,e=this.props,n=e.push,r=e.to;n?t.push(r):t.replace(r)},e.prototype.render=function(){return null},e}(u.a.Component);v.propTypes={push:s.a.bool,from:s.a.string,to:s.a.oneOfType([s.a.string,s.a.object]).isRequired},v.defaultProps={push:!1},v.contextTypes={router:s.a.shape({history:s.a.shape({push:s.a.func.isRequired,replace:s.a.func.isRequired}).isRequired,staticContext:s.a.object}).isRequired},e.a=v},function(t,e,n){"use strict";var r=(n(422),n(423),n(424),n(74));n.d(e,"a",function(){return r.a}),n.d(e,"b",function(){return r.b});n(57)},function(t,e,n){"use strict";var r=n(12),o=(n.n(r),n(21));n.n(o),n(74),n(57),n(110),n(160),"function"===typeof Symbol&&Symbol.iterator,Object.assign},function(t,e,n){"use strict";var r=n(12),o=(n.n(r),n(21)),i=(n.n(o),n(74),n(57));n(110),n(160),Object.assign,i.f,i.a,i.a,i.a},function(t,e,n){"use strict";var r=n(12);n.n(r),n(57),n(74),n(110),"function"===typeof Symbol&&Symbol.iterator,Object.assign},function(t,e,n){"use strict";var r=n(426);r.a},function(t,e,n){"use strict";function r(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function a(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u=n(12),c=n.n(u),s=n(21),f=n.n(s),l=n(5),p=n.n(l),h=n(7),d=n.n(h),v=n(56),y=(n.n(v),n(108)),m=Object.assign||function(t){for(var e=1;e",t)}},S=function(){},A=function(t){function e(){var n,r,a;o(this,e);for(var u=arguments.length,c=Array(u),s=0;s ignores the history prop. To use a custom history, use `import { Router }` instead of `import { StaticRouter as Router }`.")},e.prototype.render=function(){var t=this.props,e=t.basename,n=(t.context,t.location),o=r(t,["basename","context","location"]),i={createHref:this.createHref,action:"POP",location:w(e,_(n)),push:this.handlePush,replace:this.handleReplace,go:E("go"),goBack:E("goBack"),goForward:E("goForward"),listen:this.handleListen,block:this.handleBlock};return p.a.createElement(y.a,m({},o,{history:i}))},e}(p.a.Component);A.propTypes={basename:d.a.string,context:d.a.object.isRequired,location:d.a.oneOfType([d.a.string,d.a.object])},A.defaultProps={basename:"",location:"/"},A.childContextTypes={router:d.a.object.isRequired},e.a=A},function(t,e,n){"use strict";var r=n(428);e.a=r.a},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function i(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=n(5),u=n.n(a),c=n(7),s=n.n(c),f=n(12),l=n.n(f),p=n(21),h=n.n(p),d=n(109),v=function(t){function e(){return r(this,e),o(this,t.apply(this,arguments))}return i(e,t),e.prototype.componentWillMount=function(){h()(this.context.router,"You should not use outside a ")},e.prototype.componentWillReceiveProps=function(t){l()(!(t.location&&!this.props.location),' elements should not change from uncontrolled to controlled (or vice versa). You initially used no "location" prop and then provided one on a subsequent render.'),l()(!(!t.location&&this.props.location),' elements should not change from controlled to uncontrolled (or vice versa). You provided a "location" prop initially but omitted it on a subsequent render.')},e.prototype.render=function(){var t=this.context.router.route,e=this.props.children,n=this.props.location||t.location,r=void 0,o=void 0;return u.a.Children.forEach(e,function(e){if(u.a.isValidElement(e)){var i=e.props,a=i.path,c=i.exact,s=i.strict,f=i.sensitive,l=i.from,p=a||l;null==r&&(o=e,r=p?Object(d.a)(n.pathname,{path:p,exact:c,strict:s,sensitive:f}):t.match)}}),r?u.a.cloneElement(o,{location:n,computedMatch:r}):null},e}(u.a.Component);v.contextTypes={router:s.a.shape({route:s.a.object.isRequired}).isRequired},v.propTypes={children:s.a.node,location:s.a.object},e.a=v},function(t,e,n){"use strict";var r=n(109);r.a},function(t,e,n){"use strict";var r=n(431);r.a},function(t,e,n){"use strict";function r(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}var o=n(5),i=n.n(o),a=n(7),u=n.n(a),c=n(161),s=n.n(c),f=n(159),l=Object.assign||function(t){for(var e=1;e=0,i=o&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,t.exports=n(434),o)r.regeneratorRuntime=i;else try{delete r.regeneratorRuntime}catch(t){r.regeneratorRuntime=void 0}},function(t,e){!function(e){"use strict";function n(t,e,n,r){var i=e&&e.prototype instanceof o?e:o,a=Object.create(i.prototype),u=new h(r||[]);return a._invoke=s(t,n,u),a}function r(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}function o(){}function i(){}function a(){}function u(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function c(t){function e(n,o,i,a){var u=r(t[n],t,o);if("throw"!==u.type){var c=u.arg,s=c.value;return s&&"object"===typeof s&&g.call(s,"__await")?Promise.resolve(s.__await).then(function(t){e("next",t,i,a)},function(t){e("throw",t,i,a)}):Promise.resolve(s).then(function(t){c.value=t,i(c)},a)}a(u.arg)}function n(t,n){function r(){return new Promise(function(r,o){e(t,n,r,o)})}return o=o?o.then(r,r):r()}var o;this._invoke=n}function s(t,e,n){var o=A;return function(i,a){if(o===C)throw new Error("Generator is already running");if(o===T){if("throw"===i)throw a;return v()}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var c=f(u,n);if(c){if(c===k)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===A)throw o=T,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=C;var s=r(t,e,n);if("normal"===s.type){if(o=n.done?T:O,s.arg===k)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=T,n.method="throw",n.arg=s.arg)}}}function f(t,e){var n=t.iterator[e.method];if(n===y){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=y,f(t,e),"throw"===e.method))return k;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return k}var o=r(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,k;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=y),e.delegate=null,k):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,k)}function l(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function p(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function h(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(l,this),this.reset(!0)}function d(t){if(t){var e=t[w];if(e)return e.call(t);if("function"===typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return e("end");if(o.tryLoc<=this.prev){var a=g.call(o,"catchLoc"),u=g.call(o,"finallyLoc");if(a&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&g.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),p(n),k}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;p(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:d(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=y),k}}}(function(){return this}()||Function("return this")())},function(t,e,n){"use strict";function r(t){return function(){var e=t.apply(this,arguments);return new Promise(function(t,n){function r(o,i){try{var a=e[o](i),u=a.value}catch(t){return void n(t)}if(!a.done)return Promise.resolve(u).then(function(t){r("next",t)},function(t){r("throw",t)});t(u)}return r("next")})}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function a(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u,c,s,f,l=n(58),p=n.n(l),h=n(5),d=n.n(h),v=n(75),y=n(115),m=n(51),g=(n.n(m),n(7)),b=n.n(g),w=n(114),_=n(176),x=n(480),E=n(185),S=n(184),A=n(186),O=n(116),C=n(497),T=n(498),k=(n.n(T),function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"store",n=arguments[1],u=n||e+"Subscription",f=function(t){function n(i,a){r(this,n);var u=o(this,t.call(this,i,a));return u[e]=i.store,u}return i(n,t),n.prototype.getChildContext=function(){var t;return t={},t[e]=this[e],t[u]=null,t},n.prototype.render=function(){return a.Children.only(this.props.children)},n}(a.Component);return f.propTypes={store:s.a.isRequired,children:c.a.element.isRequired},f.childContextTypes=(t={},t[e]=s.a.isRequired,t[u]=s.b,t),f}()},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(){var t=[],e=[];return{clear:function(){e=i,t=i},notify:function(){for(var n=t=e,r=0;r=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}function o(t,e,n){for(var r=e.length-1;r>=0;r--){var o=e[r](t);if(o)return o}return function(e,r){throw new Error("Invalid value of type "+typeof t+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function i(t,e){return t===e}var a=n(163),u=n(439),c=n(440),s=n(455),f=n(456),l=n(457),p=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=t.connectHOC,n=void 0===e?a.a:e,h=t.mapStateToPropsFactories,d=void 0===h?s.a:h,v=t.mapDispatchToPropsFactories,y=void 0===v?c.a:v,m=t.mergePropsFactories,g=void 0===m?f.a:m,b=t.selectorFactory,w=void 0===b?l.a:b;return function(t,e,a){var c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=c.pure,f=void 0===s||s,l=c.areStatesEqual,h=void 0===l?i:l,v=c.areOwnPropsEqual,m=void 0===v?u.a:v,b=c.areStatePropsEqual,_=void 0===b?u.a:b,x=c.areMergedPropsEqual,E=void 0===x?u.a:x,S=r(c,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),A=o(t,d,"mapStateToProps"),O=o(e,y,"mapDispatchToProps"),C=o(a,g,"mergeProps");return n(w,p({methodName:"connect",getDisplayName:function(t){return"Connect("+t+")"},shouldHandleStateChanges:Boolean(t),initMapStateToProps:A,initMapDispatchToProps:O,initMergeProps:C,pure:f,areStatesEqual:h,areOwnPropsEqual:m,areStatePropsEqual:_,areMergedPropsEqual:E},S))}}()},function(t,e,n){"use strict";function r(t,e){return t===e?0!==t||0!==e||1/t===1/e:t!==t&&e!==e}function o(t,e){if(r(t,e))return!0;if("object"!==typeof t||null===t||"object"!==typeof e||null===e)return!1;var n=Object.keys(t),o=Object.keys(e);if(n.length!==o.length)return!1;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:{},e=arguments[1];if(c)throw c;for(var o=!1,i={},a=0;a=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}function o(t,e,n,r){return function(o,i){return n(t(o,i),e(r,i),i)}}function i(t,e,n,r,o){function i(o,i){return d=o,v=i,y=t(d,v),m=e(r,v),g=n(y,m,v),h=!0,g}function a(){return y=t(d,v),e.dependsOnOwnProps&&(m=e(r,v)),g=n(y,m,v)}function u(){return t.dependsOnOwnProps&&(y=t(d,v)),e.dependsOnOwnProps&&(m=e(r,v)),g=n(y,m,v)}function c(){var e=t(d,v),r=!p(e,y);return y=e,r&&(g=n(y,m,v)),g}function s(t,e){var n=!l(e,v),r=!f(t,d);return d=t,v=e,n&&r?a():n?u():r?c():g}var f=o.areStatesEqual,l=o.areOwnPropsEqual,p=o.areStatePropsEqual,h=!1,d=void 0,v=void 0,y=void 0,m=void 0,g=void 0;return function(t,e){return h?s(t,e):i(t,e)}}function a(t,e){var n=e.initMapStateToProps,a=e.initMapDispatchToProps,u=e.initMergeProps,c=r(e,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),s=n(t,c),f=a(t,c),l=u(t,c);return(c.pure?i:o)(s,f,l,t,c)}e.a=a;n(458)},function(t,e,n){"use strict";n(111)},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.d(e,"a",function(){return s});var o=n(460),i=n.n(o),a=n(176),u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c=function(){function t(t,e){for(var n=0;n=200&&t<300}},n),i.a.request(c).then(function(t){r("object"===u(t.data)?t.data:JSON.parse(t.data))},function(t){o(t.response?t.response.data:t)})})}}]),t}()},function(t,e,n){t.exports=n(461)},function(t,e,n){"use strict";function r(t){var e=new a(t),n=i(a.prototype.request,e);return o.extend(n,a.prototype,e),o.extend(n,e),n}var o=n(22),i=n(171),a=n(463),u=n(113),c=r(u);c.Axios=a,c.create=function(t){return r(o.merge(u,t))},c.Cancel=n(175),c.CancelToken=n(478),c.isCancel=n(174),c.all=function(t){return Promise.all(t)},c.spread=n(479),t.exports=c,t.exports.default=c},function(t,e){function n(t){return!!t.constructor&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function r(t){return"function"===typeof t.readFloatLE&&"function"===typeof t.slice&&n(t.slice(0,0))}t.exports=function(t){return null!=t&&(n(t)||r(t)||!!t._isBuffer)}},function(t,e,n){"use strict";function r(t){this.defaults=t,this.interceptors={request:new a,response:new a}}var o=n(113),i=n(22),a=n(473),u=n(474);r.prototype.request=function(t){"string"===typeof t&&(t=i.merge({url:arguments[0]},arguments[1])),t=i.merge(o,this.defaults,{method:"get"},t),t.method=t.method.toLowerCase();var e=[u,void 0],n=Promise.resolve(t);for(this.interceptors.request.forEach(function(t){e.unshift(t.fulfilled,t.rejected)}),this.interceptors.response.forEach(function(t){e.push(t.fulfilled,t.rejected)});e.length;)n=n.then(e.shift(),e.shift());return n},i.forEach(["delete","get","head","options"],function(t){r.prototype[t]=function(e,n){return this.request(i.merge(n||{},{method:t,url:e}))}}),i.forEach(["post","put","patch"],function(t){r.prototype[t]=function(e,n,r){return this.request(i.merge(r||{},{method:t,url:e,data:n}))}}),t.exports=r},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(t){if(f===setTimeout)return setTimeout(t,0);if((f===n||!f)&&setTimeout)return f=setTimeout,setTimeout(t,0);try{return f(t,0)}catch(e){try{return f.call(null,t,0)}catch(e){return f.call(this,t,0)}}}function i(t){if(l===clearTimeout)return clearTimeout(t);if((l===r||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(t);try{return l(t)}catch(e){try{return l.call(null,t)}catch(e){return l.call(this,t)}}}function a(){v&&h&&(v=!1,h.length?d=h.concat(d):y=-1,d.length&&u())}function u(){if(!v){var t=o(a);v=!0;for(var e=d.length;e;){for(h=d,d=[];++y1)for(var n=1;n=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}}),a):a}},function(t,e,n){"use strict";var r=n(22);t.exports=r.isStandardBrowserEnv()?function(){function t(t){var e=t;return n&&(o.setAttribute("href",e),e=o.href),o.setAttribute("href",e),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var e,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return e=t(window.location.href),function(n){var o=r.isString(n)?t(n):n;return o.protocol===e.protocol&&o.host===e.host}}():function(){return function(){return!0}}()},function(t,e,n){"use strict";function r(){this.message="String contains an invalid character"}function o(t){for(var e,n,o=String(t),a="",u=0,c=i;o.charAt(0|u)||(c="=",u%1);a+=c.charAt(63&e>>8-u%1*8)){if((n=o.charCodeAt(u+=.75))>255)throw new r;e=e<<8|n}return a}var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.prototype=new Error,r.prototype.code=5,r.prototype.name="InvalidCharacterError",t.exports=o},function(t,e,n){"use strict";var r=n(22);t.exports=r.isStandardBrowserEnv()?function(){return{write:function(t,e,n,o,i,a){var u=[];u.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),!0===a&&u.push("secure"),document.cookie=u.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(t,e,n){"use strict";function r(){this.handlers=[]}var o=n(22);r.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},r.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},r.prototype.forEach=function(t){o.forEach(this.handlers,function(e){null!==e&&t(e)})},t.exports=r},function(t,e,n){"use strict";function r(t){t.cancelToken&&t.cancelToken.throwIfRequested()}var o=n(22),i=n(475),a=n(174),u=n(113),c=n(476),s=n(477);t.exports=function(t){return r(t),t.baseURL&&!c(t.url)&&(t.url=s(t.baseURL,t.url)),t.headers=t.headers||{},t.data=i(t.data,t.headers,t.transformRequest),t.headers=o.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(e){delete t.headers[e]}),(t.adapter||u.adapter)(t).then(function(e){return r(t),e.data=i(e.data,e.headers,t.transformResponse),e},function(e){return a(e)||(r(t),e&&e.response&&(e.response.data=i(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)})}},function(t,e,n){"use strict";var r=n(22);t.exports=function(t,e,n){return r.forEach(n,function(n){t=n(t,e)}),t}},function(t,e,n){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},function(t,e,n){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},function(t,e,n){"use strict";function r(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(t){e=t});var n=this;t(function(t){n.reason||(n.reason=new o(t),e(n.reason))})}var o=n(175);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var t;return{token:new r(function(e){t=e}),cancel:t}},t.exports=r},function(t,e,n){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},function(t,e,n){"use strict";n.d(e,"b",function(){return o}),n.d(e,"c",function(){return i}),n.d(e,"a",function(){return a});var r=n(177),o=function(t,e){return{type:r.b,value:t,datatype:e}},i=function(t){return{type:r.c,path:t}},a=function(){return{type:r.a}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function a(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;ee+r&&(t=t.substring(0,e+r)+n+t.substring(e+r))}),t=t.trim(),requestAnimationFrame(function(){r.setSelectionRange(t.length,t.length)}),t}},function(t,e){},function(t,e,n){var r;!function(){"use strict";function o(t,e){var n;if(e=e||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=e.touchBoundary||10,this.layer=t,this.tapDelay=e.tapDelay||200,this.tapTimeout=e.tapTimeout||700,!o.notNeeded(t)){for(var r=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],i=this,u=0,c=r.length;u=0,a=navigator.userAgent.indexOf("Android")>0&&!i,u=/iP(ad|hone|od)/.test(navigator.userAgent)&&!i,c=u&&/OS 4_\d(_\d)?/.test(navigator.userAgent),s=u&&/OS [6-7]_\d/.test(navigator.userAgent),f=navigator.userAgent.indexOf("BB10")>0;o.prototype.needsClick=function(t){switch(t.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(t.disabled)return!0;break;case"input":if(u&&"file"===t.type||t.disabled)return!0;break;case"label":case"iframe":case"video":return!0}return/\bneedsclick\b/.test(t.className)},o.prototype.needsFocus=function(t){switch(t.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!a;case"input":switch(t.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!t.disabled&&!t.readOnly;default:return/\bneedsfocus\b/.test(t.className)}},o.prototype.sendClick=function(t,e){var n,r;document.activeElement&&document.activeElement!==t&&document.activeElement.blur(),r=e.changedTouches[0],n=document.createEvent("MouseEvents"),n.initMouseEvent(this.determineEventType(t),!0,!0,window,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.forwardedTouchEvent=!0,t.dispatchEvent(n)},o.prototype.determineEventType=function(t){return a&&"select"===t.tagName.toLowerCase()?"mousedown":"click"},o.prototype.focus=function(t){var e;u&&t.setSelectionRange&&0!==t.type.indexOf("date")&&"time"!==t.type&&"month"!==t.type?(e=t.value.length,t.setSelectionRange(e,e)):t.focus()},o.prototype.updateScrollParent=function(t){var e,n;if(!(e=t.fastClickScrollParent)||!e.contains(t)){n=t;do{if(n.scrollHeight>n.offsetHeight){e=n,t.fastClickScrollParent=n;break}n=n.parentElement}while(n)}e&&(e.fastClickLastScrollTop=e.scrollTop)},o.prototype.getTargetElementFromEventTarget=function(t){return t.nodeType===Node.TEXT_NODE?t.parentNode:t},o.prototype.onTouchStart=function(t){var e,n,r;if(t.targetTouches.length>1)return!0;if(e=this.getTargetElementFromEventTarget(t.target),n=t.targetTouches[0],u){if(r=window.getSelection(),r.rangeCount&&!r.isCollapsed)return!0;if(!c){if(n.identifier&&n.identifier===this.lastTouchIdentifier)return t.preventDefault(),!1;this.lastTouchIdentifier=n.identifier,this.updateScrollParent(e)}}return this.trackingClick=!0,this.trackingClickStart=t.timeStamp,this.targetElement=e,this.touchStartX=n.pageX,this.touchStartY=n.pageY,t.timeStamp-this.lastClickTimen||Math.abs(e.pageY-this.touchStartY)>n},o.prototype.onTouchMove=function(t){return!this.trackingClick||((this.targetElement!==this.getTargetElementFromEventTarget(t.target)||this.touchHasMoved(t))&&(this.trackingClick=!1,this.targetElement=null),!0)},o.prototype.findControl=function(t){return void 0!==t.control?t.control:t.htmlFor?document.getElementById(t.htmlFor):t.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},o.prototype.onTouchEnd=function(t){var e,n,r,o,i,f=this.targetElement;if(!this.trackingClick)return!0;if(t.timeStamp-this.lastClickTimethis.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=t.timeStamp,n=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,s&&(i=t.changedTouches[0],f=document.elementFromPoint(i.pageX-window.pageXOffset,i.pageY-window.pageYOffset)||f,f.fastClickScrollParent=this.targetElement.fastClickScrollParent),"label"===(r=f.tagName.toLowerCase())){if(e=this.findControl(f)){if(this.focus(f),a)return!1;f=e}}else if(this.needsFocus(f))return t.timeStamp-n>100||u&&window.top!==window&&"input"===r?(this.targetElement=null,!1):(this.focus(f),this.sendClick(f,t),u&&"select"===r||(this.targetElement=null,t.preventDefault()),!1);return!(!u||c||!(o=f.fastClickScrollParent)||o.fastClickLastScrollTop===o.scrollTop)||(this.needsClick(f)||(t.preventDefault(),this.sendClick(f,t)),!1)},o.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},o.prototype.onMouse=function(t){return!this.targetElement||(!!t.forwardedTouchEvent||(!t.cancelable||(!(!this.needsClick(this.targetElement)||this.cancelNextClick)||(t.stopImmediatePropagation?t.stopImmediatePropagation():t.propagationStopped=!0,t.stopPropagation(),t.preventDefault(),!1))))},o.prototype.onClick=function(t){var e;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===t.target.type&&0===t.detail||(e=this.onMouse(t),e||(this.targetElement=null),e)},o.prototype.destroy=function(){var t=this.layer;a&&(t.removeEventListener("mouseover",this.onMouse,!0),t.removeEventListener("mousedown",this.onMouse,!0),t.removeEventListener("mouseup",this.onMouse,!0)),t.removeEventListener("click",this.onClick,!0),t.removeEventListener("touchstart",this.onTouchStart,!1),t.removeEventListener("touchmove",this.onTouchMove,!1),t.removeEventListener("touchend",this.onTouchEnd,!1),t.removeEventListener("touchcancel",this.onTouchCancel,!1)},o.notNeeded=function(t){var e,n,r;if("undefined"===typeof window.ontouchstart)return!0;if(n=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!a)return!0;if(e=document.querySelector("meta[name=viewport]")){if(-1!==e.content.indexOf("user-scalable=no"))return!0;if(n>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(f&&(r=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/),r[1]>=10&&r[2]>=3&&(e=document.querySelector("meta[name=viewport]")))){if(-1!==e.content.indexOf("user-scalable=no"))return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return"none"===t.style.msTouchAction||"manipulation"===t.style.touchAction||(!!(+(/Firefox\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]>=27&&(e=document.querySelector("meta[name=viewport]"))&&(-1!==e.content.indexOf("user-scalable=no")||document.documentElement.scrollWidth<=window.outerWidth))||("none"===t.style.touchAction||"manipulation"===t.style.touchAction))},o.attach=function(t,e){return new o(t,e)},void 0!==(r=function(){return o}.call(e,n,e,t))&&(t.exports=r)}()},function(t,e,n){"use strict";function r(){if("serviceWorker"in navigator){if(new URL("/pxq",window.location).origin!==window.location.origin)return;window.addEventListener("load",function(){var t="/pxq/service-worker.js";a?i(t):o(t)})}}function o(t){navigator.serviceWorker.register(t).then(function(t){t.onupdatefound=function(){var e=t.installing;e.onstatechange=function(){"installed"===e.state&&navigator.serviceWorker.controller}}}).catch(function(t){})}function i(t){fetch(t).then(function(e){404===e.status||-1===e.headers.get("content-type").indexOf("javascript")?navigator.serviceWorker.ready.then(function(t){t.unregister().then(function(){window.location.reload()})}):o(t)}).catch(function(){})}e.a=r;var a=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))},function(t,e,n){t.exports=n(502)},function(t,e,n){"use strict";t.exports=n(503)},function(t,e,n){"use strict";t.exports.AppContainer=n(504)},function(t,e,n){"use strict";t.exports=n(505)},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==typeof e&&"function"!==typeof e?t:e}function i(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:i,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(e.type){case o.b:return Object.assign({},t,r({},e.datatype,e.value));case o.c:return Object.assign({},t,{imgpath:e.path});case o.a:return Object.assign({},t,i);default:return t}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n.d(e,"proData",function(){return u});var r=n(178),o=n(51),i=n.n(o),a={dataList:[]},u=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,e=arguments[1],n=void 0,o=void 0;switch(e.type){case r.c:return Object.assign({},t,e);case r.d:return n=i.a.List(t.dataList),o=i.a.Map(t.dataList[e.index]),o=o.set("selectStatus",!o.get("selectStatus")),n=n.set(e.index,o),Object.assign({},t,{dataList:n.toJS()});case r.b:return n=i.a.List(t.dataList),o=i.a.Map(t.dataList[e.index]),o=o.set("selectNum",e.selectNum),n=n.set(e.index,o),Object.assign({},t,{dataList:n.toJS()});case r.a:n=i.a.fromJS(t.dataList);for(var u=0;u=0&&b.splice(e,1)}function u(t){var e=document.createElement("style");return t.attrs.type="text/css",s(e,t.attrs),i(t,e),e}function c(t){var e=document.createElement("link");return t.attrs.type="text/css",t.attrs.rel="stylesheet",s(e,t.attrs),i(t,e),e}function s(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function f(t,e){var n,r,o,i;if(e.transform&&t.css){if(!(i=e.transform(t.css)))return function(){};t.css=i}if(e.singleton){var s=g++;n=m||(m=u(e)),r=l.bind(null,n,s,!1),o=l.bind(null,n,s,!0)}else t.sourceMap&&"function"===typeof URL&&"function"===typeof URL.createObjectURL&&"function"===typeof URL.revokeObjectURL&&"function"===typeof Blob&&"function"===typeof btoa?(n=c(e),r=h.bind(null,n,e),o=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=u(e),r=p.bind(null,n),o=function(){a(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}function l(t,e,n,r){var o=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=_(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function p(t,e){var n=e.css,r=e.media;if(r&&t.setAttribute("media",r),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}function h(t,e,n){var r=n.css,o=n.sourceMap,i=void 0===e.convertToAbsoluteUrls&&o;(e.convertToAbsoluteUrls||i)&&(r=w(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),u=t.href;t.href=URL.createObjectURL(a),u&&URL.revokeObjectURL(u)}var d={},v=function(t){var e;return function(){return"undefined"===typeof e&&(e=t.apply(this,arguments)),e}}(function(){return window&&document&&document.all&&!window.atob}),y=function(t){var e={};return function(n){if("undefined"===typeof e[n]){var r=t.call(this,n);if(r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}e[n]=r}return e[n]}}(function(t){return document.querySelector(t)}),m=null,g=0,b=[],w=n(494);t.exports=function(t,e){if("undefined"!==typeof DEBUG&&DEBUG&&"object"!==typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");e=e||{},e.attrs="object"===typeof e.attrs?e.attrs:{},e.singleton||(e.singleton=v()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=o(t,e);return r(n,e),function(t){for(var i=[],a=0;a { throw err; }); // Ensure environment variables are read. require('../config/env'); const path = require('path'); const chalk = require('chalk'); const fs = require('fs-extra'); const webpack = require('webpack'); const config = require('../config/webpack.config.prod'); const paths = require('../config/paths'); const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles'); const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); const printHostingInstructions = require('react-dev-utils/printHostingInstructions'); const FileSizeReporter = require('react-dev-utils/FileSizeReporter'); const printBuildError = require('react-dev-utils/printBuildError'); const measureFileSizesBeforeBuild = FileSizeReporter.measureFileSizesBeforeBuild; const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild; const useYarn = fs.existsSync(paths.yarnLockFile); // These sizes are pretty large. We'll warn for bundles exceeding them. const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024; const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024; // Warn and crash if required files are missing if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) { process.exit(1); } // First, read the current file sizes in build directory. // This lets us display how much they changed later. measureFileSizesBeforeBuild(paths.appBuild) .then(previousFileSizes => { // Remove all content but keep the directory so that // if you're in it, you don't end up in Trash fs.emptyDirSync(paths.appBuild); // Merge with the public folder copyPublicFolder(); // Start the webpack build return build(previousFileSizes); }) .then( ({ stats, previousFileSizes, warnings }) => { if (warnings.length) { console.log(chalk.yellow('Compiled with warnings.\n')); console.log(warnings.join('\n\n')); console.log( '\nSearch for the ' + chalk.underline(chalk.yellow('keywords')) + ' to learn more about each warning.' ); console.log( 'To ignore, add ' + chalk.cyan('// eslint-disable-next-line') + ' to the line before.\n' ); } else { console.log(chalk.green('Compiled successfully.\n')); } console.log('File sizes after gzip:\n'); printFileSizesAfterBuild( stats, previousFileSizes, paths.appBuild, WARN_AFTER_BUNDLE_GZIP_SIZE, WARN_AFTER_CHUNK_GZIP_SIZE ); console.log(); const appPackage = require(paths.appPackageJson); const publicUrl = paths.publicUrl; const publicPath = config.output.publicPath; const buildFolder = path.relative(process.cwd(), paths.appBuild); printHostingInstructions( appPackage, publicUrl, publicPath, buildFolder, useYarn ); }, err => { console.log(chalk.red('Failed to compile.\n')); printBuildError(err); process.exit(1); } ); // Create the production build and print the deployment instructions. function build(previousFileSizes) { console.log('Creating an optimized production build...'); let compiler = webpack(config); return new Promise((resolve, reject) => { compiler.run((err, stats) => { if (err) { return reject(err); } const messages = formatWebpackMessages(stats.toJson({}, true)); if (messages.errors.length) { // Only keep the first error. Others are often indicative // of the same problem, but confuse the reader with noise. if (messages.errors.length > 1) { messages.errors.length = 1; } return reject(new Error(messages.errors.join('\n\n'))); } if ( process.env.CI && (typeof process.env.CI !== 'string' || process.env.CI.toLowerCase() !== 'false') && messages.warnings.length ) { console.log( chalk.yellow( '\nTreating warnings as errors because process.env.CI = true.\n' + 'Most CI servers set it automatically.\n' ) ); return reject(new Error(messages.warnings.join('\n\n'))); } return resolve({ stats, previousFileSizes, warnings: messages.warnings, }); }); }); } function copyPublicFolder() { fs.copySync(paths.appPublic, paths.appBuild, { dereference: true, filter: file => file !== paths.appHtml, }); } ================================================ FILE: scripts/eject.js ================================================ // @remove-file-on-eject /** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ 'use strict'; // Makes the script crash on unhandled rejections instead of silently // ignoring them. In the future, promise rejections that are not handled will // terminate the Node.js process with a non-zero exit code. process.on('unhandledRejection', err => { throw err; }); const fs = require('fs-extra'); const path = require('path'); const execSync = require('child_process').execSync; const chalk = require('chalk'); const paths = require('../config/paths'); const createJestConfig = require('./utils/createJestConfig'); const inquirer = require('react-dev-utils/inquirer'); const spawnSync = require('react-dev-utils/crossSpawn').sync; const green = chalk.green; const cyan = chalk.cyan; function getGitStatus() { try { let stdout = execSync(`git status --porcelain`, { stdio: ['pipe', 'pipe', 'ignore'], }).toString(); return stdout.trim(); } catch (e) { return ''; } } inquirer .prompt({ type: 'confirm', name: 'shouldEject', message: 'Are you sure you want to eject? This action is permanent.', default: false, }) .then(answer => { if (!answer.shouldEject) { console.log(cyan('Close one! Eject aborted.')); return; } const gitStatus = getGitStatus(); if (gitStatus) { console.error( chalk.red( `This git repository has untracked files or uncommitted changes:\n\n` + gitStatus.split('\n').map(line => ' ' + line) + '\n\n' + 'Remove untracked files, stash or commit any changes, and try again.' ) ); process.exit(1); } console.log('Ejecting...'); const ownPath = paths.ownPath; const appPath = paths.appPath; function verifyAbsent(file) { if (fs.existsSync(path.join(appPath, file))) { console.error( `\`${file}\` already exists in your app folder. We cannot ` + 'continue as you would lose all the changes in that file or directory. ' + 'Please move or delete it (maybe make a copy for backup) and run this ' + 'command again.' ); process.exit(1); } } const folders = ['config', 'config/jest', 'scripts']; // Make shallow array of files paths const files = folders.reduce((files, folder) => { return files.concat( fs .readdirSync(path.join(ownPath, folder)) // set full path .map(file => path.join(ownPath, folder, file)) // omit dirs from file list .filter(file => fs.lstatSync(file).isFile()) ); }, []); // Ensure that the app folder is clean and we won't override any files folders.forEach(verifyAbsent); files.forEach(verifyAbsent); // Prepare Jest config early in case it throws const jestConfig = createJestConfig( filePath => path.posix.join('', filePath), null, true ); console.log(); console.log(cyan(`Copying files into ${appPath}`)); folders.forEach(folder => { fs.mkdirSync(path.join(appPath, folder)); }); files.forEach(file => { let content = fs.readFileSync(file, 'utf8'); // Skip flagged files if (content.match(/\/\/ @remove-file-on-eject/)) { return; } content = content // Remove dead code from .js files on eject .replace( /\/\/ @remove-on-eject-begin([\s\S]*?)\/\/ @remove-on-eject-end/gm, '' ) // Remove dead code from .applescript files on eject .replace( /-- @remove-on-eject-begin([\s\S]*?)-- @remove-on-eject-end/gm, '' ) .trim() + '\n'; console.log(` Adding ${cyan(file.replace(ownPath, ''))} to the project`); fs.writeFileSync(file.replace(ownPath, appPath), content); }); console.log(); const ownPackage = require(path.join(ownPath, 'package.json')); const appPackage = require(path.join(appPath, 'package.json')); console.log(cyan('Updating the dependencies')); const ownPackageName = ownPackage.name; if (appPackage.devDependencies) { // We used to put react-scripts in devDependencies if (appPackage.devDependencies[ownPackageName]) { console.log(` Removing ${cyan(ownPackageName)} from devDependencies`); delete appPackage.devDependencies[ownPackageName]; } } appPackage.dependencies = appPackage.dependencies || {}; if (appPackage.dependencies[ownPackageName]) { console.log(` Removing ${cyan(ownPackageName)} from dependencies`); delete appPackage.dependencies[ownPackageName]; } Object.keys(ownPackage.dependencies).forEach(key => { // For some reason optionalDependencies end up in dependencies after install if (ownPackage.optionalDependencies[key]) { return; } console.log(` Adding ${cyan(key)} to dependencies`); appPackage.dependencies[key] = ownPackage.dependencies[key]; }); // Sort the deps const unsortedDependencies = appPackage.dependencies; appPackage.dependencies = {}; Object.keys(unsortedDependencies) .sort() .forEach(key => { appPackage.dependencies[key] = unsortedDependencies[key]; }); console.log(); console.log(cyan('Updating the scripts')); delete appPackage.scripts['eject']; Object.keys(appPackage.scripts).forEach(key => { Object.keys(ownPackage.bin).forEach(binKey => { const regex = new RegExp(binKey + ' (\\w+)', 'g'); if (!regex.test(appPackage.scripts[key])) { return; } appPackage.scripts[key] = appPackage.scripts[key].replace( regex, 'node scripts/$1.js' ); console.log( ` Replacing ${cyan(`"${binKey} ${key}"`)} with ${cyan( `"node scripts/${key}.js"` )}` ); }); }); console.log(); console.log(cyan('Configuring package.json')); // Add Jest config console.log(` Adding ${cyan('Jest')} configuration`); appPackage.jest = jestConfig; // Add Babel config console.log(` Adding ${cyan('Babel')} preset`); appPackage.babel = { presets: ['react-app'], }; // Add ESlint config console.log(` Adding ${cyan('ESLint')} configuration`); appPackage.eslintConfig = { extends: 'react-app', }; fs.writeFileSync( path.join(appPath, 'package.json'), JSON.stringify(appPackage, null, 2) + '\n' ); console.log(); // "Don't destroy what isn't ours" if (ownPath.indexOf(appPath) === 0) { try { // remove react-scripts and react-scripts binaries from app node_modules Object.keys(ownPackage.bin).forEach(binKey => { fs.removeSync(path.join(appPath, 'node_modules', '.bin', binKey)); }); fs.removeSync(ownPath); } catch (e) { // It's not essential that this succeeds } } if (fs.existsSync(paths.yarnLockFile)) { // TODO: this is disabled for three reasons. // // 1. It produces garbage warnings on Windows on some systems: // https://github.com/facebookincubator/create-react-app/issues/2030 // // 2. For the above reason, it breaks Windows CI: // https://github.com/facebookincubator/create-react-app/issues/2624 // // 3. It is wrong anyway: re-running yarn will respect the lockfile // rather than package.json we just updated. Instead we should have // updated the lockfile. So we might as well not do it while it's broken. // https://github.com/facebookincubator/create-react-app/issues/2627 // // console.log(cyan('Running yarn...')); // spawnSync('yarnpkg', [], { stdio: 'inherit' }); } else { console.log(cyan('Running npm install...')); spawnSync('npm', ['install', '--loglevel', 'error'], { stdio: 'inherit', }); } console.log(green('Ejected successfully!')); console.log(); console.log( green('Please consider sharing why you ejected in this survey:') ); console.log(green(' http://goo.gl/forms/Bi6CZjk1EqsdelXk1')); console.log(); }); ================================================ FILE: scripts/init.js ================================================ // @remove-file-on-eject /** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ 'use strict'; // Makes the script crash on unhandled rejections instead of silently // ignoring them. In the future, promise rejections that are not handled will // terminate the Node.js process with a non-zero exit code. process.on('unhandledRejection', err => { throw err; }); const fs = require('fs-extra'); const path = require('path'); const chalk = require('chalk'); const spawn = require('react-dev-utils/crossSpawn'); module.exports = function( appPath, appName, verbose, originalDirectory, template ) { const ownPackageName = require(path.join(__dirname, '..', 'package.json')) .name; const ownPath = path.join(appPath, 'node_modules', ownPackageName); const appPackage = require(path.join(appPath, 'package.json')); const useYarn = fs.existsSync(path.join(appPath, 'yarn.lock')); // Copy over some of the devDependencies appPackage.dependencies = appPackage.dependencies || {}; // Setup the script rules appPackage.scripts = { start: 'react-scripts start', build: 'react-scripts build', test: 'react-scripts test --env=jsdom', eject: 'react-scripts eject', }; fs.writeFileSync( path.join(appPath, 'package.json'), JSON.stringify(appPackage, null, 2) ); const readmeExists = fs.existsSync(path.join(appPath, 'README.md')); if (readmeExists) { fs.renameSync( path.join(appPath, 'README.md'), path.join(appPath, 'README.old.md') ); } // Copy the files for the user const templatePath = template ? path.resolve(originalDirectory, template) : path.join(ownPath, 'template'); if (fs.existsSync(templatePath)) { fs.copySync(templatePath, appPath); } else { console.error( `Could not locate supplied template: ${chalk.green(templatePath)}` ); return; } // Rename gitignore after the fact to prevent npm from renaming it to .npmignore // See: https://github.com/npm/npm/issues/1862 fs.move( path.join(appPath, 'gitignore'), path.join(appPath, '.gitignore'), [], err => { if (err) { // Append if there's already a `.gitignore` file there if (err.code === 'EEXIST') { const data = fs.readFileSync(path.join(appPath, 'gitignore')); fs.appendFileSync(path.join(appPath, '.gitignore'), data); fs.unlinkSync(path.join(appPath, 'gitignore')); } else { throw err; } } } ); let command; let args; if (useYarn) { command = 'yarnpkg'; args = ['add']; } else { command = 'npm'; args = ['install', '--save', verbose && '--verbose'].filter(e => e); } args.push('react', 'react-dom'); // Install additional template dependencies, if present const templateDependenciesPath = path.join( appPath, '.template.dependencies.json' ); if (fs.existsSync(templateDependenciesPath)) { const templateDependencies = require(templateDependenciesPath).dependencies; args = args.concat( Object.keys(templateDependencies).map(key => { return `${key}@${templateDependencies[key]}`; }) ); fs.unlinkSync(templateDependenciesPath); } // Install react and react-dom for backward compatibility with old CRA cli // which doesn't install react and react-dom along with react-scripts // or template is presetend (via --internal-testing-template) if (!isReactInstalled(appPackage) || template) { console.log(`Installing react and react-dom using ${command}...`); console.log(); const proc = spawn.sync(command, args, { stdio: 'inherit' }); if (proc.status !== 0) { console.error(`\`${command} ${args.join(' ')}\` failed`); return; } } // Display the most elegant way to cd. // This needs to handle an undefined originalDirectory for // backward compatibility with old global-cli's. let cdpath; if (originalDirectory && path.join(originalDirectory, appName) === appPath) { cdpath = appName; } else { cdpath = appPath; } // Change displayed command to yarn instead of yarnpkg const displayedCommand = useYarn ? 'yarn' : 'npm'; console.log(); console.log(`Success! Created ${appName} at ${appPath}`); console.log('Inside that directory, you can run several commands:'); console.log(); console.log(chalk.cyan(` ${displayedCommand} start`)); console.log(' Starts the development server.'); console.log(); console.log( chalk.cyan(` ${displayedCommand} ${useYarn ? '' : 'run '}build`) ); console.log(' Bundles the app into static files for production.'); console.log(); console.log(chalk.cyan(` ${displayedCommand} test`)); console.log(' Starts the test runner.'); console.log(); console.log( chalk.cyan(` ${displayedCommand} ${useYarn ? '' : 'run '}eject`) ); console.log( ' Removes this tool and copies build dependencies, configuration files' ); console.log( ' and scripts into the app directory. If you do this, you can’t go back!' ); console.log(); console.log('We suggest that you begin by typing:'); console.log(); console.log(chalk.cyan(' cd'), cdpath); console.log(` ${chalk.cyan(`${displayedCommand} start`)}`); if (readmeExists) { console.log(); console.log( chalk.yellow( 'You had a `README.md` file, we renamed it to `README.old.md`' ) ); } console.log(); console.log('Happy hacking!'); }; function isReactInstalled(appPackage) { const dependencies = appPackage.dependencies || {}; return ( typeof dependencies.react !== 'undefined' && typeof dependencies['react-dom'] !== 'undefined' ); } ================================================ FILE: scripts/start.js ================================================ // @remove-on-eject-begin /** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ // @remove-on-eject-end 'use strict'; // Do this as the first thing so that any code reading it knows the right env. process.env.BABEL_ENV = 'development'; process.env.NODE_ENV = 'development'; process.env.STATIC_ENV = 'development'; // Makes the script crash on unhandled rejections instead of silently // ignoring them. In the future, promise rejections that are not handled will // terminate the Node.js process with a non-zero exit code. process.on('unhandledRejection', err => { throw err; }); // Ensure environment variables are read. require('../config/env'); const fs = require('fs'); const chalk = require('chalk'); const webpack = require('webpack'); const WebpackDevServer = require('webpack-dev-server'); const clearConsole = require('react-dev-utils/clearConsole'); const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles'); const { choosePort, createCompiler, prepareProxy, prepareUrls, } = require('react-dev-utils/WebpackDevServerUtils'); const openBrowser = require('react-dev-utils/openBrowser'); const paths = require('../config/paths'); const config = require('../config/webpack.config.dev'); const createDevServerConfig = require('../config/webpackDevServer.config'); const useYarn = fs.existsSync(paths.yarnLockFile); const isInteractive = process.stdout.isTTY; // Warn and crash if required files are missing if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) { process.exit(1); } // Tools like Cloud9 rely on this. const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 3000; const HOST = process.env.HOST || '0.0.0.0'; // We attempt to use the default port but if it is busy, we offer the user to // run on a different port. `detect()` Promise resolves to the next free port. choosePort(HOST, DEFAULT_PORT) .then(port => { if (port == null) { // We have not found a port. return; } const protocol = process.env.HTTPS === 'true' ? 'https' : 'http'; const appName = require(paths.appPackageJson).name; const urls = prepareUrls(protocol, HOST, port); // Create a webpack compiler that is configured with custom messages. const compiler = createCompiler(webpack, config, appName, urls, useYarn); // Load proxy config const proxySetting = require(paths.appPackageJson).proxy; const proxyConfig = prepareProxy(proxySetting, paths.appPublic); // Serve webpack assets generated by the compiler over a web sever. const serverConfig = createDevServerConfig( proxyConfig, urls.lanUrlForConfig ); const devServer = new WebpackDevServer(compiler, serverConfig); // Launch WebpackDevServer. devServer.listen(port, HOST, err => { if (err) { return console.log(err); } if (isInteractive) { clearConsole(); } console.log(chalk.cyan('Starting the development server...\n')); openBrowser(urls.localUrlForBrowser); }); ['SIGINT', 'SIGTERM'].forEach(function(sig) { process.on(sig, function() { devServer.close(); process.exit(); }); }); }) .catch(err => { if (err && err.message) { console.log(err.message); } process.exit(1); }); ================================================ FILE: scripts/test.js ================================================ // @remove-on-eject-begin /** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ // @remove-on-eject-end 'use strict'; // Do this as the first thing so that any code reading it knows the right env. process.env.BABEL_ENV = 'test'; process.env.NODE_ENV = 'test'; process.env.PUBLIC_URL = ''; // Makes the script crash on unhandled rejections instead of silently // ignoring them. In the future, promise rejections that are not handled will // terminate the Node.js process with a non-zero exit code. process.on('unhandledRejection', err => { throw err; }); // Ensure environment variables are read. require('../config/env'); const jest = require('jest'); const argv = process.argv.slice(2); // Watch unless on CI or in coverage mode if (!process.env.CI && argv.indexOf('--coverage') < 0) { argv.push('--watch'); } // @remove-on-eject-begin // This is not necessary after eject because we embed config into package.json. const createJestConfig = require('./utils/createJestConfig'); const path = require('path'); const paths = require('../config/paths'); argv.push( '--config', JSON.stringify( createJestConfig( relativePath => path.resolve(__dirname, '..', relativePath), path.resolve(paths.appSrc, '..'), false ) ) ); // @remove-on-eject-end jest.run(argv); ================================================ FILE: scripts/utils/createJestConfig.js ================================================ // @remove-file-on-eject /** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ 'use strict'; const fs = require('fs'); const chalk = require('chalk'); const paths = require('../../config/paths'); module.exports = (resolve, rootDir, isEjecting) => { // Use this instead of `paths.testsSetup` to avoid putting // an absolute filename into configuration after ejecting. const setupTestsFile = fs.existsSync(paths.testsSetup) ? '/src/setupTests.js' : undefined; // TODO: I don't know if it's safe or not to just use / as path separator // in Jest configs. We need help from somebody with Windows to determine this. const config = { collectCoverageFrom: ['src/**/*.{js,jsx,mjs}'], setupFiles: [resolve('config/polyfills.js')], setupTestFrameworkScriptFile: setupTestsFile, testMatch: [ '/src/**/__tests__/**/*.{js,jsx,mjs}', '/src/**/?(*.)(spec|test).{js,jsx,mjs}', ], testEnvironment: 'node', testURL: 'http://localhost', transform: { '^.+\\.(js|jsx|mjs)$': isEjecting ? '/node_modules/babel-jest' : resolve('config/jest/babelTransform.js'), '^.+\\.css$': resolve('config/jest/cssTransform.js'), '^(?!.*\\.(js|jsx|mjs|css|json)$)': resolve( 'config/jest/fileTransform.js' ), }, transformIgnorePatterns: ['[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$'], moduleNameMapper: { '^react-native$': 'react-native-web', }, moduleFileExtensions: [ 'web.js', 'mjs', 'js', 'json', 'web.jsx', 'jsx', 'node', ], }; if (rootDir) { config.rootDir = rootDir; } const overrides = Object.assign({}, require(paths.appPackageJson).jest); const supportedKeys = [ 'collectCoverageFrom', 'coverageReporters', 'coverageThreshold', 'snapshotSerializers', ]; if (overrides) { supportedKeys.forEach(key => { if (overrides.hasOwnProperty(key)) { config[key] = overrides[key]; delete overrides[key]; } }); const unsupportedKeys = Object.keys(overrides); if (unsupportedKeys.length) { console.error( chalk.red( 'Out of the box, Create React App only supports overriding ' + 'these Jest options:\n\n' + supportedKeys.map(key => chalk.bold(' \u2022 ' + key)).join('\n') + '.\n\n' + 'These options in your package.json Jest configuration ' + 'are not currently supported by Create React App:\n\n' + unsupportedKeys .map(key => chalk.bold(' \u2022 ' + key)) .join('\n') + '\n\nIf you wish to override other Jest options, you need to ' + 'eject from the default setup. You can do so by running ' + chalk.bold('npm run eject') + ' but remember that this is a one-way operation. ' + 'You may also file an issue with Create React App to discuss ' + 'supporting more options out of the box.\n' ) ); process.exit(1); } } return config; }; ================================================ FILE: src/api/api.js ================================================ import Server from './server'; class API extends Server{ /** * 用途:上传图片 * @url https://elm.cangdu.org/v1/addimg/shop * 返回status为1表示成功 * @method post * @return {promise} */ async uploadImg(params = {}){ try{ let result = await this.axios('post', '//elm.cangdu.org/v1/addimg/shop', params); if(result && result.status === 1){ return result; }else{ let err = { tip: '上传图片失败', response: result, data: params, url: '//elm.cangdu.org/v1/addimg/shop', } throw err; } }catch(err){ throw err; } } /** * 用途:获取记录数据 * @url https://api.cangdu.org/shopro/data/record * 返回http_code为200表示成功 * @method get * @return {promise} */ async getRecord(params = {}){ try{ let result = await this.axios('get', `/shopro/data/record/${params.type}`); if(result && (result.data instanceof Object) && result.http_code === 200){ return result.data; }else{ let err = { tip: '获取记录数据失败', response: result, data: params, url: 'https://api.cangdu.org/shopro/data/record', } throw err; } }catch(err){ throw err; } } /** * 用途:获取商品数据 * @url https://api.cangdu.org/shopro/data/products * 返回http_code为200表示成功 * @method get * @return {promise} */ async getProduction(params = {}){ try{ let result = await this.axios('get', '/shopro/data/products', params); if(result && (result.data instanceof Object) && result.http_code === 200){ return result.data.data||[]; }else{ let err = { tip: '获取商品数据失败', response: result, data: params, url: 'https://api.cangdu.org/shopro/data/products', } throw err; } }catch(err){ throw err; } } /** * 用途:获取佣金数据 * @url https://api.cangdu.org/shopro/data/balance * 返回http_code为200表示成功 * @method get * @return {promise} */ async getBalance(params = {}){ try{ let result = await this.axios('get', '/shopro/data/balance', params); if(result && (result.data instanceof Object) && result.http_code === 200){ return result.data.data||{}; }else{ let err = { tip: '获取佣金数据失败', response: result, data: params, url: 'https://api.cangdu.org/shopro/data/balance', } throw err; } }catch(err){ throw err; } } } export default new API(); ================================================ FILE: src/api/server.js ================================================ import axios from 'axios'; import envconfig from '@/envconfig/envconfig'; /** * 主要params参数 * @params method {string} 方法名 * @params url {string} 请求地址 例如:/login 配合baseURL组成完整请求地址 * @params baseURL {string} 请求地址统一前缀 ***需要提前指定*** 例如:http://cangdu.org * @params timeout {number} 请求超时时间 默认 30000 * @params params {object} get方式传参key值 * @params headers {string} 指定请求头信息 * @params withCredentials {boolean} 请求是否携带本地cookies信息默认开启 * @params validateStatus {func} 默认判断请求成功的范围 200 - 300 * @return {Promise} * 其他更多拓展参看axios文档后 自行拓展 * 注意:params中的数据会覆盖method url 参数,所以如果指定了这2个参数则不需要在params中带入 */ export default class Server { axios(method, url, params){ return new Promise((resolve, reject) => { if(typeof params !== 'object') params = {}; let _option = params; _option = { method, url, baseURL: envconfig.baseURL, timeout: 30000, params: null, data: null, headers: null, withCredentials: true, //是否携带cookies发起请求 validateStatus:(status)=>{ return status >= 200 && status < 300; }, ...params, } axios.request(_option).then(res => { resolve(typeof res.data === 'object' ? res.data : JSON.parse(res.data)) },error => { if(error.response){ reject(error.response.data) }else{ reject(error) } }) }) } } ================================================ FILE: src/assets/iconfonts/iconfont.css ================================================ @font-face {font-family: "iconfont"; src: url('iconfont.eot?t=1515590359802'); /* IE9*/ src: url('iconfont.eot?t=1515590359802#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAtAAAsAAAAAEZgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZXQkwMY21hcAAAAYAAAADoAAAC1hg9qYRnbHlmAAACaAAABkcAAAkcekACRmhlYWQAAAiwAAAALwAAADYQF6tXaGhlYQAACOAAAAAcAAAAJAfeA5RobXR4AAAI/AAAABQAAABMS+kAAGxvY2EAAAkQAAAAKAAAACgU7Bb+bWF4cAAACTgAAAAfAAAAIAEjAGxuYW1lAAAJWAAAAUUAAAJtPlT+fXBvc3QAAAqgAAAAnwAAAOqgT+NxeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/s84gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVLySZm7438AQw9zAcAUozAiSAwAq5gzmeJzFkj1uwkAQhb81DvnDxFDQ0EQIpUrNUTgIojAX4TS5B+ICzxZFrkDeetykgSrKrL717mjkmZ03wAMwMp+mhPRNIltnb+r9I156f8mX7yvefSpoVKhSrbU22mqnvQ466tzO2kV3uiyvV8c24m7MbUvOt+LjxsoxBa+u8o2aud9T8uiKnxgzo+KZCVMHje/m+jNL/5f6t036vRtuc9MMuEQRuJsoBe4rKoI8JaoC9xrVAfm7DvI/tQnyZGkb5MnSLrA6aB/kydIhsGLoGFg7dA6sIu2A9aRdBFaW7hTkl12WAdMf/xlbVnicjVZ9iBtFFJ83k929JJtNN8lm75L72mw+2msul8vX2tO7S6VytfaPFlEUaU8r/aDoUapQ6kfv/hHt0T80UvGrQktFxVpQsFS5trmihZYKImi5eljFKhWhRf8QPJuJb5I7ewUtbrKzb+a9eW9+b957M0QipP4Dm2KtJEiWkn6yiqwjBOTlENNoB1ipQoYuB8OSDDOksZSdshQ7lmGDYMbkUDhXKiRNWZH9oEEn5K1cKZWhKSgWhujtkAt3ALRFI/cGEu0B9iJ4WlOdz/E19BAYXXa7f6iX350eDuW6gy271ECgLRDY1yJLUgulLr8Gj5tht+T2yPyw5I8YU13LaBeobanI2gd93dHAIy8UxjoSphtgYgKC0W7tnWE9ouP/mUg4GGhTlvhaWiM+Ox6CXZe9rUG1I/kjwUdGrO+7CP2AeEkriSPaIlmBaJVOCMmKOQSFZGox7fwXAxJ6QrJ0i37Vs6yvb1lPfmAgf4Ma7xlZv36kZ/2GDetvUPwar0K5VgVSJ7Q9G9/05KZ4tvepl57uXUy/lB0+cv7IcHbkzJUzI4vp6/UqTFSrfELgcCGOI6xMjzRwtJPuW2Bgt1xq5f8sqvbiItuAth9j4/QqoYSYOuxh5GU2wVcJHkNe2kVYmizBVS0lxA2pJMZJF4RzDmCsxJhMlDAxS8RJEpaB1BA4nWBqQH/kx571RkOe/d6oBx71GNGrF/klSQLr4gxYksQvzZyYk6S5E1OihT/4x3tQxvOKxwObvFED0ihxcaY5Y+YiWNfXSHNTCzPESutb2TS9hv5qRwia8Ba6x8lAEORYHyQLpVwXQCkXDkGtytFetVp3uerj/JiaUD9VWxPqm7BcjbfRa1K9eqouSfVT1Tp/n3+kqid88Tb1LehDIeEDYSvNdqMPfCRKiIS2EKfeBAo395bScja7EmBlNlumdB2Us/1lgHJ/tgyb+4YBhvtYrPm9/t3N/eY+HGeErSCS8LPiBpMRXijAq3xbAXZDNc+f4DtzjZg/x/5iJdwdBfH7Mc9NQpy8YScsAwPDaPwS2NfxlfbuBZNeqlkLL/9lLz73TU5Osu2Tv+OHypMLMfgTe4NF0UKAxAiCB4RmmCUHQ6/kCLoTQDFRraljkTBKjulgn34Bg4UddCeYqzJAP9y3+dnaowMXLhy7fDqzYnTNhhV8y+goTAw+Etm8Q/OXb7vr/q37Z2Ibu96G9MAFfvUy5E/H9Y3hOzYM0C8eHm2uYxxjbgL94CV6A5utW0Wb5Yv5ogU2YrSZkTfyeqUCY7OVyiyvsLFZGKvMzlau8kqFktnKdcGjyIOx+ToxxS6wVajRJKvJGqyJ9yI+K4aB4lgYJbKyiDZBVmLJVNIpDsEw6IWkYiVlU5fDjinYWEqTKb0fmY6Fux7UwMwnknIHOMF+g17mW3UT8+i1gGkGFtHj/Fc16PbLGoNM7Hy8l2/L2gB2dp2QOBTLAKQtOhTrpcC0hyT+dXdnpUTjpm0Cvm/Pfw/wX/wgy/7gbzZOgN3pDqBWvvZZzgLB7rPpseWxXoaqeDgULKTBztxZoUZ0Po6Ps8/ZSMMHeCIsSlwrAwK7qDJQm+aYDgDT0wCYN3WDv+vx+TzwgEfT2AgOTJ9uCpxGAY5TMMVEs1BLfqbfs4iIYdDzQZ1B95m5ORrh5+uEFerzcfY8+5PtwlX0kRGCW57AwMLjpVREV6csDTpQnzhuEvlcySli4OGYoTfGSoO4UlYsJHETZEVvnlE4hv0MSHZMFnPFmNAlZDowRUECzXuPV9O8/BPRnvVqVD/nQYbm4cc9fr9nrVfz+zXv2uYYrBZj5zz+2rWzQh5GRIsKQNt+rjGwuik4P01wYEE5TqP62RvGGtP88/abmpDb9EOVVVm5sR9LyTL0WKN0Ks0yurimiYqGgLCcGbrZCbJNydErknTlaLM9WZOk2slG2yq5vpHdqvtLCVoUFv1H5OiVngURbGsH2HuSAmnZ7Zb5t4ddqrcZHwvrSd1cU5lthORYchBskSO343WgJO4CeZEMlJysuVzzqr378cje79N13wLByg2DTQmeuonXIBox8zr7mW0R1dUN4njBe4C4izhuEBeSlLtx0iiU8I1qV6sKB/moalpeOASHRJ+PwsFG/3jzyzf+uxwhfwPiFAemAHicY2BkYGAA4vKFJl7x/DZfGbhZGEDgWo3xdQT9X4eFgbkByOVgYAKJAgAXEwm7AHicY2BkYGBu+N/AEMPCAAJAkpEBFQgDAEcZAnx4nGNhYGBgfsnAwMJAOQYATIMBNQAAAAAAdgDaARgBJgFyAagB3AHwAhwCYAKKAwwDPgNQA9QEHARYBI54nGNgZGBgEGZIYGBjAAEmIOYCQgaG/2A+AwAUNQGQAHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nG1Nyw6DMAyrgVFeezD2Gxz2SV2HWBBqmWilwtcvG+I2H2LLdhIRiQ2F+I8GEWIkOCCFRIYcBUpUOOKEMy6ocUWDm0AoFjIjKdM/VbXLQMqWszIDcyDTp8Ers3Zyo7tclXFs15wbZ32r7bT8htTKqdH2cuCYr2Vv3phYJwONPvn2s/3JyXnSL783ctLWtK6bXcy1tGf7QUJ8AKd5PBgA') format('woff'), url('iconfont.ttf?t=1515590359802') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url('iconfont.svg?t=1515590359802#iconfont') format('svg'); /* iOS 4.1- */ } .iconfont { font-family:"iconfont" !important; font-size:16px; font-style:normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-yinliangda:before { content: "\e600"; } .icon-yinliangxiao:before { content: "\e602"; } .icon-sanjiaoxing:before { content: "\e656"; } .icon-xuanze:before { content: "\e636"; } .icon-xuanze1:before { content: "\e696"; } .icon-zanting:before { content: "\e672"; } .icon-jiantou-copy-copy:before { content: "\e679"; } .icon-catalog:before { content: "\e716"; } .icon-jingyin:before { content: "\e674"; } .icon-quanping:before { content: "\e601"; } .icon-jilu:before { content: "\e8d7"; } .icon-jian:before { content: "\e711"; } .icon-yinliang:before { content: "\ea1b"; } .icon-tuichuquanping:before { content: "\e60d"; } .icon-icon-test:before { content: "\e610"; } .icon-jia:before { content: "\e6d9"; } .icon-guanbi:before { content: "\e624"; } ================================================ FILE: src/components/TouchableOpacity/TouchableOpacity.jsx ================================================ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { is, fromJS } from 'immutable'; import './TouchableOpacity.less'; /** * 点击状态组件 */ export default class TouchableOpacity extends Component{ static propTypes = { clickCallBack: PropTypes.func, text: PropTypes.string, className: PropTypes.string, } handleTouchStart = () => { this.refs.btn.style.opacity = '0.3'; } handleTouchEnd = () => { this.refs.btn.style.opacity = '1'; this.props.clickCallBack(); } shouldComponentUpdate(nextProps, nextState){ return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) } render(){ return (
{this.props.text||'确认'}
); } } ================================================ FILE: src/components/TouchableOpacity/TouchableOpacity.less ================================================ /* * @Author: cangdu * @Date: 2018-05-10 19:03:13 * @Last Modified by: cangdu * @Last Modified time: 2018-05-10 19:03:13 */ ================================================ FILE: src/components/alert/alert.jsx ================================================ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { is, fromJS } from 'immutable'; import TouchableOpacity from '@/components/TouchableOpacity/TouchableOpacity'; import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; import './alert.less'; export default class Alert extends Component{ static propTypes = { closeAlert: PropTypes.func.isRequired, alertTip: PropTypes.string.isRequired, alertStatus: PropTypes.bool.isRequired, } // css动画组件设置为目标组件 FirstChild = props => { const childrenArray = React.Children.toArray(props.children); return childrenArray[0] || null; } // 关闭弹框 confirm = () => { this.props.closeAlert(); } shouldComponentUpdate(nextProps, nextState){ return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) } render(){ return ( { this.props.alertStatus&&
{this.props.alertTip}
}
); } } ================================================ FILE: src/components/alert/alert.less ================================================ @import (reference) "../../style/mixin.less"; .alert-con{ .coverScreen(fixed, rgba(0, 0, 0, 0.3)); z-index: 11; } .alert-context{ .positionCenter; z-index: 12; .wh(600px, 360px); background-color: #fff; border-radius: 16px; .flex(@align-items: stretch); flex-direction: column; .alert-content-detail{ flex: 5; .flex; .font(40px); } .confirm-btn{ flex: 2; .flex; .font(40px); border-top: 1PX solid #eee; } } .alert-enter{ opacity: 0; } .alert-enter.alert-enter-active{ transition: all 300ms; opacity: 1; } .alert-leave{ opacity: 1; } .alert-leave.alert-leave-active{ transition: all 300ms; opacity: 0; } ================================================ FILE: src/components/header/header.jsx ================================================ import React, { Component } from 'react'; import { is, fromJS } from 'immutable'; import { NavLink } from 'react-router-dom'; import PropTypes from 'prop-types'; import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; import './header.less'; export default class PublicHeader extends Component{ static propTypes = { record: PropTypes.any, title: PropTypes.string.isRequired, confirm: PropTypes.any, } state = { navState: false, //导航栏是否显示 }; // 切换左侧导航栏状态 toggleNav = () => { this.setState({navState: !this.state.navState}); } // css动画组件设置为目标组件 FirstChild = props => { const childrenArray = React.Children.toArray(props.children); return childrenArray[0] || null; } shouldComponentUpdate(nextProps, nextState) { return !is(fromJS(this.props), fromJS(nextProps))|| !is(fromJS(this.state),fromJS(nextState)) } render(){ return(
{this.props.title} { this.props.record&& } { this.props.confirm&&确定 } { this.state.navState && }
); } } ================================================ FILE: src/components/header/header.less ================================================ @import (reference) "../../style/mixin.less"; @import "../../assets/iconfonts/iconfont.css"; .header-container{ background-color: @base-color; .flex; position: fixed; top: 0; left: 0; z-index: 10; .wh(100%, 88px); .header-slide-icon{ .font(36px, #fff); .positionLeft; } .header-title{ .font(40px, #fff); } .header-link{ .font(40px, #fff); .positionRight; } .header-link-confim{ font-size: 32px; } .nav-slide-list{ .coverScreen(fixed); top: 88px; display: flex; flex-direction: column; .nav-link{ .font(32px); border-bottom: 1Px solid #ddd; margin: 0 @common-wd; padding: 35px 20px; position: relative; &:before{ position: absolute; right: 10px; top: 50%; transform: translate3d(0, -50%, 0); color: #666; }; } } .nav-enter{ transform: translate3d(-100%, 0, 0); } .nav-enter.nav-enter-active{ transform: translate3d(0, 0, 0); transition: transform 300ms; } .nav-leave{ transform: translate3d(0, 0, 0); } .nav-leave.nav-leave-active{ transform: translate3d(-100%, 0, 0); transition: transform 300ms; } } ================================================ FILE: src/envconfig/envconfig.js ================================================ /** * 全局配置文件 */ let baseURL; let imgUrl = '//elm.cangdu.org/img/'; if(process.env.NODE_ENV === 'development'){ baseURL = '//api.cangdu.org'; }else{ baseURL = '//api.cangdu.org'; } export default {imgUrl, baseURL} ================================================ FILE: src/index.js ================================================ import React from 'react'; import ReactDOM from 'react-dom'; import Route from './router/'; import FastClick from 'fastclick'; import registerServiceWorker from './registerServiceWorker'; import { AppContainer } from 'react-hot-loader'; import {Provider} from 'react-redux'; import store from '@/store/store'; import './utils/setRem'; import './style/base.css'; FastClick.attach(document.body); // 监听state变化 // store.subscribe(() => { // console.log('store发生了变化'); // }); const render = Component => { ReactDOM.render( //绑定redux、热加载 , document.getElementById('root'), ) } render(Route); // Webpack Hot Module Replacement API if (module.hot) { module.hot.accept('./router/', () => { render(Route); }) } registerServiceWorker(); ================================================ FILE: src/pages/balance/balance.jsx ================================================ import React, { Component } from 'react'; import { is, fromJS } from 'immutable'; import PublicHeader from '@/components/header/header'; import TouchableOpacity from '@/components/TouchableOpacity/TouchableOpacity'; import PublicAlert from '@/components/alert/alert'; import API from '@/api/api'; import './balance.less'; class BrokeRage extends Component{ state = { applyNum: '', //输入值 alertStatus: false, //弹框状态 alertTip: '', //弹框提示文字 balance: { //可提现金额 balance: 0, }, } // 初始化数据 initData = async () => { try{ let result = await API.getBalance(); console.log(result); this.setState({balance: result}); }catch(err){ console.error(err); } } /** * 格式化输入数据 * 格式为微信红包格式:最大 200.00 * @param {object} event 事件对象 */ handleInput = event => { let value = event.target.value; if((/^\d*?\.?\d{0,2}?$/gi).test(value)){ if((/^0+[1-9]+/).test(value)) { value = value.replace(/^0+/,''); } if((/^0{2}\./).test(value)) { value = value.replace(/^0+/,'0'); } value = value.replace(/^\./gi,'0.'); if(parseFloat(value) > 200){ value = '200.00'; } this.setState({applyNum: value}); } } /** * 提交判断条件 */ sumitForm = () => { let alertTip; if(!this.state.applyNum){ alertTip = '请输入提现金额'; }else if(parseFloat(this.state.applyNum) > this.state.balance.balance){ alertTip = '申请提现金额不能大于余额'; }else{ alertTip = '申请提现成功'; } this.setState({ alertStatus: true, alertTip, applyNum: '', }) } /* 关闭弹框 */ closeAlert = () => { this.setState({ alertStatus: false, alertTip: '', }) } shouldComponentUpdate(nextProps, nextState) { return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state),fromJS(nextState)) } componentDidMount(){ this.initData(); } render(){ return (

您的可提现金额为:¥ {this.state.balance.balance}

请输入提现金额(元)

¥

); } } export default BrokeRage; ================================================ FILE: src/pages/balance/balance.less ================================================ @import (reference) "../../style/mixin.less"; .broke-main-content{ padding-top: @common-wd; .broke-header{ .font(32px, #999); padding: 0 @common-wd; } .broke-form{ background-color: #fff; min-height: 250px; margin-top: @common-wd; .flex; flex-direction: column; p:nth-of-type(1){ .font(40px); } p:nth-of-type(2){ .font(40px); ::-webkit-input-placeholder{ color: #ccc; } margin-top: @common-wd; input{ border: none; .font(40px); width: 180px; } } } } ================================================ FILE: src/pages/helpcenter/helpcenter.jsx ================================================ import React, { Component } from 'react'; import PublicHeader from '@/components/header/header'; import { is, fromJS } from 'immutable'; import './helpcenter.less'; export default class HelpCenter extends Component { shouldComponentUpdate(nextProps, nextState){ return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) } render(){ return (

介绍

本项目主要用于理解 react 和 redux 的编译方式,以及 react + redux 之间的配合方式

技术要点

react:v16.2

redux:v3.7

webpack:v3.8

react-router:v4.2

ES 6/7/8

code split

hot loader

axios:v0.17

less:v2.7

immutable:v3.8

项目地址 github

) } } ================================================ FILE: src/pages/helpcenter/helpcenter.less ================================================ .context-con{ margin-top: 100px; padding: 20px; h2{ font-size: 45px; text-align: center; margin-bottom: 10px; padding-top: 10px; } p{ font-size: 32px; text-indent: 40px; margin-bottom: 20px; } } ================================================ FILE: src/pages/home/home.jsx ================================================ import React, { Component } from 'react'; import { Link } from 'react-router-dom'; import { connect } from 'react-redux'; import { is, fromJS } from 'immutable'; import PropTypes from 'prop-types'; import API from '@/api/api'; import envconfig from '@/envconfig/envconfig'; import { saveFormData, saveImg, clearData } from '@/store/home/action'; import { clearSelected } from '@/store/production/action'; import PublicHeader from '@/components/header/header'; import PublicAlert from '@/components/alert/alert'; import TouchableOpacity from '@/components/TouchableOpacity/TouchableOpacity'; import mixin, { padStr } from '@/utils/mixin'; import './home.less'; @mixin({padStr}) class Home extends Component { static propTypes = { formData: PropTypes.object.isRequired, saveFormData: PropTypes.func.isRequired, saveImg: PropTypes.func.isRequired, clearData: PropTypes.func.isRequired, clearSelected: PropTypes.func.isRequired, } state = { alertStatus: false, //弹框状态 alertTip: '', //弹框提示文字 } /** * 已选择的商品数据 * @type {Array} */ selectedProList = []; /** * 将表单数据保存至redux,保留状态 * @param {string} type 数据类型 orderSum||name||phoneNo * @param {object} event 事件对象 */ handleInput = (type, event) => { let value = event.target.value; switch(type){ case 'orderSum': value = value.replace(/\D/g, ''); break; case 'name': break; case 'phoneNo': value = this.padStr(value.replace(/\D/g, ''), [3, 7], ' ', event.target); break; default:; } this.props.saveFormData(value, type); } /* 上传图片,并将图片地址存到redux,保留状态 */ uploadImg = async event => { try{ let formdata = new FormData(); formdata.append('file', event.target.files[0]); let result = await API.uploadImg({data: formdata}); this.props.saveImg(envconfig.imgUrl + result.image_path); console.log(result); }catch(err){ console.error(err); } } // 提交表单 sumitForm = () => { const {orderSum, name, phoneNo} = this.props.formData; let alertTip = ''; if(!orderSum.toString().length){ alertTip = '请填写金额'; }else if(!name.toString().length){ alertTip = '请填写姓名'; }else if(!phoneNo.toString().length){ alertTip = '请填写正确的手机号'; }else{ alertTip = '添加数据成功'; this.props.clearSelected(); this.props.clearData(); } this.setState({ alertStatus: true, alertTip, }) } // 关闭弹款 closeAlert = () => { this.setState({ alertStatus: false, alertTip: '', }) } // 初始化数据,获取已选择的商品 initData = props => { this.selectedProList = []; props.proData.dataList.forEach(item => { if(item.selectStatus && item.selectNum){ this.selectedProList.push(item); } }) } componentWillReceiveProps(nextProps){ if(!is(fromJS(this.props.proData), fromJS(nextProps.proData))){ this.initData(nextProps); } } shouldComponentUpdate(nextProps, nextState) { return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state),fromJS(nextState)) } componentWillMount(){ this.initData(this.props); } render() { return (

请录入您的信息

销售金额:
客户姓名:
客户电话:

请选择销售的产品

{ this.selectedProList.length ?
    { this.selectedProList.map((item, index) => { return
  • {item.product_name}x{item.selectNum}
  • }) }
:'选择产品' }

请上传发票凭证

上传图片
); } } export default connect(state => ({ formData: state.formData, proData: state.proData, }), { saveFormData, saveImg, clearData, clearSelected, })(Home); ================================================ FILE: src/pages/home/home.less ================================================ @import (reference) "../../style/mixin.less"; .home-container{ padding-top: 88px; .common-title{ .font(36px, @base-color); padding: 30px; } .home-form{ background-color: #fff; .home-form-tiem{ height: 120px; border-bottom: 1PX solid #eee; span{ .font(32px, #555); margin-left: 30px; margin-right: 20px; } input{ border: none; font-size: 30px; } ::-webkit-input-placeholder{ color: #ccc; } } } .common-select-btn{ background-color: #fff; display: block; min-height: 120px; .font(42px, #ccc, center); .flex; .selected-pro-list{ .flex(); flex-wrap: wrap; .selected-pro-item{ width: 340px; margin: 10px; line-height: 50px; .font(32px, @text-align:center); } } } .upload-img-con{ text-align: center; .file-lable{ position: relative; input[type='file']{ position: absolute; .wh(100%, 100%); background-color: red; top: 0; right: 0; opacity: 0; } } .select-img{ margin-top: 10px; } } .submit-btn{ width: 90%; background-color: @base-color; margin: 50px auto 0; border-radius: 10px; line-height: 100px; .font(40px, #fff, center); } } ================================================ FILE: src/pages/production/production.jsx ================================================ import React, { Component } from 'react'; import { is, fromJS } from 'immutable'; import { connect } from 'react-redux'; import { getProData, togSelectPro, editPro } from '@/store/production/action'; import PropTypes from 'prop-types'; import PublicHeader from '@/components/header/header'; import './production.less'; class Production extends Component{ static propTypes = { proData: PropTypes.object.isRequired, getProData: PropTypes.func.isRequired, togSelectPro: PropTypes.func.isRequired, editPro: PropTypes.func.isRequired, } /** * 添加或删减商品,交由redux进行数据处理,作为全局变量 * @param {int} index 编辑的商品索引 * @param {int} num 添加||删减的商品数量 */ handleEdit = (index, num) => { let currentNum = this.props.proData.dataList[index].selectNum + num; if(currentNum < 0){ return } this.props.editPro(index, currentNum); } // 选择商品,交由redux进行数据处理,作为全局变量 togSelect = index => { this.props.togSelectPro(index); } shouldComponentUpdate(nextProps, nextState) { return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) } componentDidMount(){ if(!this.props.proData.dataList.length){ this.props.getProData(); } } render(){ return (
    { this.props.proData.dataList.map((item, index) => { return
  • {item.product_name}
    0? 'edit-active':''}`} onClick={this.handleEdit.bind(this, index, -1)}> {item.selectNum}
  • }) }
) } } export default connect(state => ({ proData: state.proData, }), { getProData, togSelectPro, editPro })(Production); ================================================ FILE: src/pages/production/production.less ================================================ @import (reference) "../../style/mixin.less"; @import "../../assets/iconfonts/iconfont.css"; .pro-list-con{ padding-top: @common-wd; } .pro-list-ul{ background-color: #fff; .pro-item{ min-height: 140px; padding: @common-wd; border-bottom: 1PX solid #eee; .flex(space-between); .pro-item-select{ .flex; .pro-select-status{ .font(45px, #ccc); } .pro-selected{ color: @base-color; } .pro-name{ .font(36px); margin-left: 20px; margin-top: 12px; } } .pro-item-edit{ .flex; .icon-jian{ .font(50px, #ccc); } .pro-num{ .font(30px, @text-align: center); min-width: 60px; } .icon-jia{ .font(50px, @base-color); } .edit-active{ color: @base-color; } } } } ================================================ FILE: src/pages/record/components/recordList.jsx ================================================ import React, { Component } from 'react'; import { is, fromJS } from 'immutable'; import API from '@/api/api'; import './recordList.less'; class RecordList extends Component{ state = { recordData: [], } /** * 初始化获取数据 * @param {string} type 数据类型 */ getRecord = async type => { try{ let result = await API.getRecord({type}); this.setState({recordData: result.data||[]}) }catch(err){ console.error(err); } } componentWillReceiveProps(nextProps){ // 判断类型是否重复 let currenType = this.props.location.pathname.split('/')[2]; let type = nextProps.location.pathname.split('/')[2]; if(currenType !== type){ this.getRecord(type); } } shouldComponentUpdate(nextProps, nextState){ return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) } componentWillMount(){ let type = this.props.location.pathname.split('/')[2]; this.getRecord(type); } render(){ return (
    { this.state.recordData.map((item, index) => { return
  • 创建时间:{item.created_at} {item.type_name}

    用户名:{item.customers_name}   {item.customers_phone}

    商 品:{item.product[0].product_name}

    金 额:{item.sales_money}   佣金:{item.commission}

    等待管理员审核,审核通过后,佣金将结算至账户

  • }) }
); } } export default RecordList; ================================================ FILE: src/pages/record/components/recordList.less ================================================ @import (reference) "../../../style/mixin.less"; .record-list-con{ .record-item{ background-color: #fff; margin-top: 20px; .record-item-header{ .flex(@justify-content: space-between); height: 100px; padding: 0 20px; border-bottom: 1PX solid #eee; span:nth-of-type(1){ .font(30px, #999); } span:nth-of-type(2){ .font(36px, @base-red); } } .record-item-content{ padding: 20px; p{ .font(30px, #000); line-height: 50px; } } .record-item-footer{ padding: 20px; .font(28px, #000); border-top: 1PX solid #eee; } } } ================================================ FILE: src/pages/record/record.jsx ================================================ import React, { Component } from 'react'; import { is, fromJS } from 'immutable'; import { NavLink, Switch, Route, Redirect } from 'react-router-dom'; import PublicHeader from '@/components/header/header'; import RecordList from './components/recordList'; import './record.less'; class Record extends Component { state = { flagBarPos: '17%', } /** * 设置头部底部标签位置 * @param {string} type 数据类型 */ setFlagBarPos = type => { let flagBarPos; switch(type){ case 'passed': flagBarPos = '17%'; break; case 'audited': flagBarPos = '50%'; break; case 'failed': flagBarPos = '83%'; break; default: flagBarPos = '17%'; } this.setState({flagBarPos}) } componentWillReceiveProps(nextProps){ // 属性变化时设置头部底部标签位置 let currenType = this.props.location.pathname.split('/')[2]; let type = nextProps.location.pathname.split('/')[2]; if(currenType !== type){ this.setFlagBarPos(type); } } shouldComponentUpdate(nextProps, nextState){ return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) } componentWillMount(){ // 初始化设置头部底部标签位置 let type = this.props.location.pathname.split('/')[2]; this.setFlagBarPos(type); } render() { return (
{/* 子路由在父级配置,react-router4新特性,更加灵活 */}
); } } export default Record; ================================================ FILE: src/pages/record/record.less ================================================ @import (reference) "../../style/mixin.less"; .record-nav-con{ height: 110px; position: relative; .record-nav{ height: 100%; .flex; background-color: #fff; .nav-link{ .font(@font-size:36px, @text-align:center); flex: 1; height: 60px; line-height: 60px; transition: color 300ms; } a:nth-of-type(1), a:nth-of-type(2){ border-right: 1Px solid #ddd; } .active{ color: @base-color; } } .nav-flag-bar{ .wh(130px, 2PX); border-radius: 1px; background-color: @base-color; position: absolute; bottom: 0; left: 17%; margin-left: -65px; transition: left 300ms; } } ================================================ FILE: src/registerServiceWorker.js ================================================ // In production, we register a service worker to serve assets from local cache. // This lets the app load faster on subsequent visits in production, and gives // it offline capabilities. However, it also means that developers (and users) // will only see deployed updates on the "N+1" visit to a page, since previously // cached resources are updated in the background. // To learn more about the benefits of this model, read https://goo.gl/KwvDNy. // This link also includes instructions on opting out of this behavior. const isLocalhost = Boolean( window.location.hostname === 'localhost' || // [::1] is the IPv6 localhost address. window.location.hostname === '[::1]' || // 127.0.0.1/8 is considered localhost for IPv4. window.location.hostname.match( /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ ) ); export default function register() { if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { // The URL constructor is available in all browsers that support SW. const publicUrl = new URL(process.env.PUBLIC_URL, window.location); if (publicUrl.origin !== window.location.origin) { // Our service worker won't work if PUBLIC_URL is on a different origin // from what our page is served on. This might happen if a CDN is used to // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374 return; } window.addEventListener('load', () => { const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; if (isLocalhost) { // This is running on localhost. Lets check if a service worker still exists or not. checkValidServiceWorker(swUrl); } else { // Is not local host. Just register service worker registerValidSW(swUrl); } }); } } function registerValidSW(swUrl) { navigator.serviceWorker .register(swUrl) .then(registration => { registration.onupdatefound = () => { const installingWorker = registration.installing; installingWorker.onstatechange = () => { if (installingWorker.state === 'installed') { if (navigator.serviceWorker.controller) { // At this point, the old content will have been purged and // the fresh content will have been added to the cache. // It's the perfect time to display a "New content is // available; please refresh." message in your web app. console.log('New content is available; please refresh.'); } else { // At this point, everything has been precached. // It's the perfect time to display a // "Content is cached for offline use." message. console.log('Content is cached for offline use.'); } } }; }; }) .catch(error => { console.error('Error during service worker registration:', error); }); } function checkValidServiceWorker(swUrl) { // Check if the service worker can be found. If it can't reload the page. fetch(swUrl) .then(response => { // Ensure service worker exists, and that we really are getting a JS file. if ( response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1 ) { // No service worker found. Probably a different app. Reload the page. navigator.serviceWorker.ready.then(registration => { registration.unregister().then(() => { window.location.reload(); }); }); } else { // Service worker found. Proceed as normal. registerValidSW(swUrl); } }) .catch(() => { console.log( 'No internet connection found. App is running in offline mode.' ); }); } export function unregister() { if ('serviceWorker' in navigator) { navigator.serviceWorker.ready.then(registration => { registration.unregister(); }); } } ================================================ FILE: src/router/index.js ================================================ import React, { Component } from 'react'; import { HashRouter, Switch, Route, Redirect } from 'react-router-dom'; import asyncComponent from '@/utils/asyncComponent'; import home from "@/pages/home/home"; const record = asyncComponent(() => import("@/pages/record/record")); const helpcenter = asyncComponent(() => import("@/pages/helpcenter/helpcenter")); const production = asyncComponent(() => import("@/pages/production/production")); const balance = asyncComponent(() => import("@/pages/balance/balance")); // react-router4 不再推荐将所有路由规则放在同一个地方集中式路由,子路由应该由父组件动态配置,组件在哪里匹配就在哪里渲染,更加灵活 export default class RouteConfig extends Component{ render(){ return( ) } } ================================================ FILE: src/store/home/action-type.js ================================================ // 保存表单数据 export const SAVEFORMDATA = 'SAVEFORMDATA'; // 保存图片 export const SAVEIMG = 'SAVEIMG'; // 清空数据 export const CLEARDATA = 'CLEARDATA'; ================================================ FILE: src/store/home/action.js ================================================ import * as home from './action-type'; // 保存表单数据 export const saveFormData = (value, datatype) => { return { type: home.SAVEFORMDATA, value, datatype, } } // 保存图片地址 export const saveImg = path => { return { type: home.SAVEIMG, path, } } // 保存图片地址 export const clearData = () => { return { type: home.CLEARDATA, } } ================================================ FILE: src/store/home/reducer.js ================================================ import * as home from './action-type'; let defaultState = { orderSum: '', //金额 name: '', //姓名 phoneNo: '', //手机号 imgpath: '', //图片地址 } // 首页表单数据 export const formData = (state = defaultState , action = {}) => { switch(action.type){ case home.SAVEFORMDATA: return {...state, ...{[action.datatype]: action.value}}; case home.SAVEIMG: return {...state, ...{imgpath: action.path}}; case home.CLEARDATA: return {...state, ...defaultState}; default: return state; } } ================================================ FILE: src/store/production/action-type.js ================================================ // 保存商品数据 export const GETPRODUCTION = 'GETPRODUCTION'; // 选择商品 export const TOGGLESELECT = 'TOGGLESELECT'; // 编辑商品 export const EDITPRODUCTION = 'EDITPRODUCTION'; // 清空选择 export const CLEARSELECTED = 'CLEARSELECTED'; ================================================ FILE: src/store/production/action.js ================================================ import * as pro from './action-type'; import API from '@/api/api'; // 初始化获取商品数据,保存至redux export const getProData = () => { // 返回函数,异步dispatch return async dispatch => { try{ let result = await API.getProduction(); result.map(item => { item.selectStatus = true; item.selectNum = 0; return item; }) dispatch({ type: pro.GETPRODUCTION, dataList: result, }) }catch(err){ console.error(err); } } } // 选择商品 export const togSelectPro = index => { return { type: pro.TOGGLESELECT, index, } } // 编辑商品 export const editPro = (index, selectNum) => { return { type: pro.EDITPRODUCTION, index, selectNum, } } // 清空选择 export const clearSelected = () => { return { type: pro.CLEARSELECTED, } } ================================================ FILE: src/store/production/reducer.js ================================================ import * as pro from './action-type'; import Immutable from 'immutable'; let defaultState = { /** * 商品数据 * @type {Array} * example: [{ * product_id: 1, 商品ID * product_name: "PaiBot(2G/32G)", 商品名称 * product_price: 2999, 商品价格 * commission: 200, 佣金 * selectStatus: false, 是否选择 * selectNum: 0, 选择数量 * }] */ dataList: [], } export const proData = (state = defaultState, action) => { let imuDataList; let imuItem; switch(action.type){ case pro.GETPRODUCTION: return {...state, ...action} case pro.TOGGLESELECT: //避免引用类型数据,使用immutable进行数据转换 imuDataList = Immutable.List(state.dataList); imuItem = Immutable.Map(state.dataList[action.index]); imuItem = imuItem.set('selectStatus', !imuItem.get('selectStatus')); imuDataList = imuDataList.set(action.index, imuItem); // redux必须返回一个新的state return {...state, ...{dataList: imuDataList.toJS()}}; case pro.EDITPRODUCTION: //避免引用类型数据,使用immutable进行数据转换 imuDataList = Immutable.List(state.dataList); imuItem = Immutable.Map(state.dataList[action.index]); imuItem = imuItem.set('selectNum', action.selectNum); imuDataList = imuDataList.set(action.index, imuItem); // redux必须返回一个新的state return {...state, ...{dataList: imuDataList.toJS()}}; // 清空数据 case pro.CLEARSELECTED: imuDataList = Immutable.fromJS(state.dataList); for (let i = 0; i < state.dataList.length; i++) { imuDataList = imuDataList.update(i, item => { item = item.set('selectStatus', false); item = item.set('selectNum', 0); return item }) } return {...state, ...{dataList: imuDataList.toJS()}}; default: return state; } } ================================================ FILE: src/store/store.js ================================================ import {createStore, combineReducers, applyMiddleware} from 'redux'; import * as home from './home/reducer'; import * as production from './production/reducer'; import thunk from 'redux-thunk'; let store = createStore( combineReducers({...home, ...production}), applyMiddleware(thunk) ); export default store; ================================================ FILE: src/style/base.css ================================================ *{ margin: 0; padding: 0; /*防止点击闪烁*/ -webkit-tap-highlight-color: transparent; /*缩放网页,文字大小不变*/ -webkit-text-size-adjust: none; font-family: "Helvetica Neue",Helvetica,STHeiTi,sans-serif; -webkit-font-smoothing: antialiased; box-sizing: border-box; font-weight: normal; } /*修复img默认位置和IE边框*/ img{ vertical-align: top; border:none; } /*去除虚线*/ input:focus,select:focus,textarea:focus,button:focus{ outline: none; } /*重置部分表单圆角和内阴影*/ input[type="text"],input[type="file"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],input[type="email"],input[type="url"],textarea{ -webkit-appearance:none; } /*去除文本框上下箭头*/ input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance:none; } /*设置iconfont标签font-famile*/ [class^="icon-"], [class*=" icon-"] { font-family:"iconfont"; font-size:16px; font-style:normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } a{ text-decoration: none; /*ios禁止页面在新窗口打开*/ -webkit-touch-callout:none; } body{ background-color: #f5f5f5; } em,i{ font-style: normal; } li{ list-style: none; } html,body{ height: 100%; } .common-con-top{ margin-top: 88px; } .ellipsis{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap } ================================================ FILE: src/style/mixin.less ================================================ @base-color: #975ec9; @common-wd: 30px; @assets-img: '../assets/images/'; @base-red: #F20500; .flex(@justify-content: center, @align-items: center) when (iskeyword(@justify-content)), (iskeyword(@align-items)){ display: flex; justify-content: @justify-content; align-items: @align-items; } .commonBack(@url) when (isstring(@url)){ background: url("@{assets-img}@{url}") no-repeat center; background-size: 100%; } .coverScreen(@position: absolute, @backColor: #fff) when (iskeyword(@position)), (iscolor(@backColor)){ position: @position; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background-color: @backColor; } .positionCenter(@position: absolute) when (iskeyword(@position)){ position: @position; top: 50%; left: 50%; transform: translate3d(-50%, -50%, 0); } .positionLeft(@position: absolute, @left: @common-wd) when (iskeyword(@position)), (ispixel(@left)){ position: @position; top: 50%; left: @left; transform: translate3d(0, -50%, 0); } .positionRight(@position: absolute, @right: @common-wd) when (iskeyword(@position)), (ispixel(@right)){ position: @position; top: 50%; right: @right; transform: translate3d(0, -50%, 0); } .font(@font-size, @color: #333, @text-align: left) when (ispixel(@font-size)), (iscolor(@color)), (iskeyword(@text-align)) { font-size: @font-size; color: @color; text-align: @text-align; } .wh(@w, @h) when (ispixel(@w))or(ispercentage(@w)), (ispixel(@h))or(ispercentage(@h)){ width: @w; height: @h; } ================================================ FILE: src/utils/asyncComponent.jsx ================================================ import React, { Component } from "react"; export default function asyncComponent(importComponent) { class AsyncComponent extends Component { constructor(props) { super(props); this.state = { component: null }; } async componentDidMount() { const { default: component } = await importComponent(); this.setState({component}); } render() { const C = this.state.component; return C ? : null; } } return AsyncComponent; } ================================================ FILE: src/utils/mixin.js ================================================ export default methods => { return target => { Object.assign(target.prototype, methods); } } /** * 字符串填充函数 * @param {string} value 目标字符串 * @param {array} position 需要填充的位置 * @param {string} padstr 填充字符串 * @return {string} 返回目标字符串 */ export const padStr = (value, position, padstr, inputElement) => { position.forEach((item, index) => { if (value.length > item + index) { value = value.substring(0, item + index) + padstr + value.substring(item + index) } }) value = value.trim(); // 解决安卓部分浏览器插入空格后光标错位问题 requestAnimationFrame(() => { inputElement.setSelectionRange(value.length, value.length); }) return value; } ================================================ FILE: src/utils/setRem.js ================================================ (function(psdw){ var dpr=0 , rem=0 , scale=0; var htmlDOM=document.documentElement; dpr=window.devicePixelRatio; var currentWidth=htmlDOM.clientWidth; scale=currentWidth/psdw; rem=psdw/10; rem=rem*scale; htmlDOM.style.fontSize=rem+'px'; htmlDOM.setAttribute('data-dpr',dpr) })(750)