Full Code of casesandberg/react-color for AI

master bc9a0e1dc5d1 cached
197 files
2.0 MB
530.5k tokens
849 symbols
1 requests
Download .txt
Showing preview only (2,117K chars total). Download the full file or copy to clipboard to get everything.
Repository: casesandberg/react-color
Branch: master
Commit: bc9a0e1dc5d1
Files: 197
Total size: 2.0 MB

Directory structure:
gitextract_nu_8j6t6/

├── .babelrc
├── .github/
│   └── CONTRIBUTING.md
├── .gitignore
├── .storybook/
│   ├── SyncColorField.js
│   ├── addons.js
│   ├── config.js
│   └── report.js
├── .travis.yml
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── docs/
│   ├── build/
│   │   └── bundle.js
│   ├── components/
│   │   └── home/
│   │       ├── Home.js
│   │       ├── HomeDocumentation.js
│   │       └── HomeFeature.js
│   ├── documentation/
│   │   ├── 01-about.md
│   │   ├── 02-getting-started.md
│   │   ├── 02.01-install.md
│   │   ├── 02.02-include.md
│   │   ├── 03-api.md
│   │   ├── 03.01-color.md
│   │   ├── 03.02-onChange.md
│   │   ├── 03.03-onChangeComplete.md
│   │   ├── 03.04-individual.md
│   │   ├── 03.05-customStyles.md
│   │   ├── 04-create.md
│   │   ├── 04.01-parent.md
│   │   ├── 04.02-helpers.md
│   │   ├── 05-examples.md
│   │   └── index.js
│   ├── index.html
│   └── index.js
├── examples/
│   ├── basic/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       └── index.js
│   ├── basic-positioning/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       └── index.js
│   ├── basic-toggle-open-closed/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       └── index.js
│   ├── basic-with-react-hooks/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       └── index.js
│   ├── custom-picker/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       ├── MyPicker.js
│   │       └── index.js
│   ├── custom-pointer/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       ├── MyPicker.js
│   │       ├── MyPointer.js
│   │       └── index.js
│   ├── with-portals/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       ├── Modal.js
│   │       ├── Portal.js
│   │       └── index.js
│   └── with-redux/
│       ├── .gitignore
│       ├── package.json
│       ├── public/
│       │   └── index.html
│       └── src/
│           ├── App.js
│           ├── index.js
│           └── reducer.js
├── package.json
├── scripts/
│   ├── docs-dist.js
│   ├── docs-server.js
│   ├── restore-original-babelrc.js
│   └── use-module-babelrc.js
├── src/
│   ├── Alpha.js
│   ├── Block.js
│   ├── Chrome.js
│   ├── Circle.js
│   ├── Compact.js
│   ├── Custom.js
│   ├── Github.js
│   ├── Google.js
│   ├── Hue.js
│   ├── Material.js
│   ├── Photoshop.js
│   ├── Sketch.js
│   ├── Slider.js
│   ├── Swatches.js
│   ├── Twitter.js
│   ├── components/
│   │   ├── alpha/
│   │   │   ├── Alpha.js
│   │   │   ├── AlphaPointer.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   └── spec.js
│   │   ├── block/
│   │   │   ├── Block.js
│   │   │   ├── BlockSwatches.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── chrome/
│   │   │   ├── Chrome.js
│   │   │   ├── ChromeFields.js
│   │   │   ├── ChromePointer.js
│   │   │   ├── ChromePointerCircle.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── circle/
│   │   │   ├── Circle.js
│   │   │   ├── CircleSwatch.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── common/
│   │   │   ├── Alpha.js
│   │   │   ├── Checkboard.js
│   │   │   ├── ColorWrap.js
│   │   │   ├── EditableInput.js
│   │   │   ├── Hue.js
│   │   │   ├── Raised.js
│   │   │   ├── Saturation.js
│   │   │   ├── Swatch.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── index.js
│   │   │   └── spec.js
│   │   ├── compact/
│   │   │   ├── Compact.js
│   │   │   ├── CompactColor.js
│   │   │   ├── CompactFields.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── github/
│   │   │   ├── Github.js
│   │   │   ├── GithubSwatch.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── google/
│   │   │   ├── Google.js
│   │   │   ├── GoogleFields.js
│   │   │   ├── GooglePointer.js
│   │   │   ├── GooglePointerCircle.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── hue/
│   │   │   ├── Hue.js
│   │   │   ├── HuePointer.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   └── spec.js
│   │   ├── material/
│   │   │   ├── Material.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── photoshop/
│   │   │   ├── Photoshop.js
│   │   │   ├── PhotoshopButton.js
│   │   │   ├── PhotoshopFields.js
│   │   │   ├── PhotoshopPointer.js
│   │   │   ├── PhotoshopPointerCircle.js
│   │   │   ├── PhotoshopPreviews.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── sketch/
│   │   │   ├── Sketch.js
│   │   │   ├── SketchFields.js
│   │   │   ├── SketchPresetColors.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── slider/
│   │   │   ├── Slider.js
│   │   │   ├── SliderPointer.js
│   │   │   ├── SliderSwatch.js
│   │   │   ├── SliderSwatches.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   └── spec.js
│   │   ├── swatches/
│   │   │   ├── Swatches.js
│   │   │   ├── SwatchesColor.js
│   │   │   ├── SwatchesGroup.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   └── twitter/
│   │       ├── Twitter.js
│   │       ├── __snapshots__/
│   │       │   └── spec.js.snap
│   │       ├── spec.js
│   │       └── story.js
│   ├── helpers/
│   │   ├── alpha.js
│   │   ├── checkboard.js
│   │   ├── color.js
│   │   ├── hue.js
│   │   ├── index.js
│   │   ├── interaction.js
│   │   ├── saturation.js
│   │   └── spec.js
│   └── index.js
└── webpack.config.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .babelrc
================================================
{
  "presets": [
    "es2015",
    "stage-0",
    "react"
  ]
}


================================================
FILE: .github/CONTRIBUTING.md
================================================
# Contributing

Fork and then clone the repo

    git clone git@github.com:your-username/react-color.git

Install all npm scripts:

    npm install

Make Changes. If you want to contribute check out the [help wanted](https://github.com/casesandberg/react-color/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) issues for things that need fixing.

To run the docs server locally run `npm run docs` and open http://localhost:9100/docs/. If you end up making any changes to the documentation or documentation site make sure to run `npm run docs-dist` when creating a pull request.

Before submitting a pull request run `npm run test` to run the unit-tests and `npm run eslint` to check for linting errors in your changes.


================================================
FILE: .gitignore
================================================
*.log
*.DS_Store
node_modules
package-lock.json

lib
es
.babelrc_backup


================================================
FILE: .storybook/SyncColorField.js
================================================
import React from 'react'

export default class SyncColorField extends React.Component {
  constructor(props) {
    super(props)
    this.state = {
      colorField: props.component.defaultProps.color,
    }
  }

  render() {
    const handleChange = ({ hex }) => this.setState({ colorField: hex })

    return React.cloneElement(this.props.children, {
      onChange: handleChange,
      color: this.state.colorField,
    })
  }
}


================================================
FILE: .storybook/addons.js
================================================
import '@storybook/addon-options/register'
import '@storybook/addon-knobs/register'


================================================
FILE: .storybook/config.js
================================================
import { configure, addDecorator } from '@storybook/react';
import { setOptions } from '@storybook/addon-options';

import centered from '@storybook/addon-centered';
import { withKnobs } from '@storybook/addon-knobs';

setOptions({
  name: 'React Color',
  url: 'http://casesandberg.github.io/react-color/',
  downPanelInRight: true,
})

addDecorator(centered);
addDecorator(withKnobs);

const req = require.context('../src/components', true, /\.?story\.js$/)
const loadStories = () => req.keys().forEach((filename) => req(filename))

configure(loadStories, module);


================================================
FILE: .storybook/report.js
================================================
import React from 'react'
import _ from 'lodash'
import PropTypes from 'prop-types'
import PROP_TYPE_SECRET from 'prop-types/lib/ReactPropTypesSecret'
import { number, color, select, array, boolean } from '@storybook/addon-knobs'

const THIS_STRING_SHOULDNT_MATCH = 'THIS_STRING_SHOULDNT_MATCH'

export const generatePropReport = ({ propTypes, defaultProps }) => {
  const props = {}
  // console.log(propTypes.foo({ ['foo']: THIS_STRING_SHOULDNT_MATCH }, 'foo', null, 'prop', 'foo', PROP_TYPE_SECRET))
  _.each(propTypes, (type, prop) => {
    const error = type({[prop]: THIS_STRING_SHOULDNT_MATCH}, prop, 'Component', 'prop', prop, PROP_TYPE_SECRET)
    if (error) {
      const argType = {
        [PropTypes.array]: 'array',
        [PropTypes.bool]: 'boolean',
        [PropTypes.func]: 'function',
        [PropTypes.number]: 'number',
        [PropTypes.object]: 'object',
        [PropTypes.string]: 'string',
        // [PropTypes.symbol]: 'symbol',
      }[error.args]
      props[prop] = { ...props[prop], type: error.type }
      const args = argType || error.args
      if (args) {
        props[prop] = { ...props[prop], args }
      }
    } else {
      props[prop] = { ...props[prop], type: 'string' }
    }
    if (defaultProps[prop]) {
      props[prop] = { ...props[prop], default: defaultProps[prop] }
    }
  })

  // _.each(defaultProps, (defaultValue, prop) => {
  //   props[prop] = { ...props[prop], default: defaultValue }
  // })

  return props
}

export const renderWithKnobs = (Component, props = {}, children = null, knobsSettings = {}) => {
  const knobs = generatePropReport(Component)

  const makeLabel = ({ name, type, defaultProp }) => {
    return `${ name }${ type ? ` (${ type }${ defaultProp ? ` = ${ defaultProp }` : '' })` : '' }`
  }

  const knobProps = _.reduce(knobs, (all, prop, name) => {

    if (prop.type === 'enum') {
      const label = makeLabel({ name: name, type: JSON.stringify(prop.args), defaultProp: prop.default })
      const options = _.reduce(prop.args, (options, value) => {
        options[value] = value
        return options
      }, {})
      all[name] = select(label, options, prop.default)
    }

    if (prop.type === 'number') {
      const label = makeLabel({ name, type: prop.type, defaultProp: prop.default })
      all[name] = number(label, prop.default, knobsSettings[name])
    }

    if (prop.type === 'array') {
      const label = makeLabel({ name, type: prop.type, defaultProp: prop.default })
      all[name] = array(label, prop.default, knobsSettings[name] || ', ')
    }

    if (prop.type === 'arrayOf') {
      const label = makeLabel({ name, type: `[]${ prop.args }s` })
      all[name] = array(label, prop.default, knobsSettings[name] || ', ')
    }

    if (prop.type === 'boolean') {
      const label = makeLabel({ name, type: prop.type, defaultProp: prop.default })
      all[name] = boolean(label, prop.default)
    }

    return all
  }, {})

  return <Component { ...knobProps } { ...props }>{children}</Component>
}


================================================
FILE: .travis.yml
================================================
language: node_js
node_js:
  - 6
notifications:
  email:
    on_success: never
script: npm test
cache:
  directories:
    - node_modules


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at case@casesandberg.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/


================================================
FILE: LICENSE
================================================
The MIT License (MIT)

Copyright (c) 2015 Case Sandberg

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 Color](http://casesandberg.github.io/react-color/)

[![Npm Version][npm-version-image]][npm-version-url]
[![Build Status][travis-svg]][travis-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

* **13 Different Pickers** - Sketch, Photoshop, Chrome and many more

* **Make Your Own** - Use the building block components to make your own

## Demo

![Demo](https://media.giphy.com/media/26FfggT53qE304CwE/giphy.gif)

[**Live Demo**](http://casesandberg.github.io/react-color/)

## Installation & Usage

```sh
npm install react-color --save
```

### Include the Component

```js
import React from 'react'
import { SketchPicker } from 'react-color'

class Component extends React.Component {

  render() {
    return <SketchPicker />
  }
}
```
You can import `AlphaPicker` `BlockPicker` `ChromePicker` `CirclePicker` `CompactPicker` `GithubPicker` `HuePicker` `MaterialPicker` `PhotoshopPicker` `SketchPicker` `SliderPicker` `SwatchesPicker` `TwitterPicker` respectively.

> 100% inline styles via [ReactCSS](http://reactcss.com/)

[travis-svg]: https://travis-ci.org/casesandberg/react-color.svg
[travis-url]: https://travis-ci.org/casesandberg/react-color
[license-image]: http://img.shields.io/npm/l/react-color.svg
[license-url]: LICENSE
[downloads-image]: http://img.shields.io/npm/dm/react-color.svg
[downloads-url]: http://npm-stat.com/charts.html?package=react-color
[npm-version-image]: https://img.shields.io/npm/v/react-color.svg
[npm-version-url]: https://www.npmjs.com/package/react-color


================================================
FILE: docs/build/bundle.js
================================================
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
/******/ 		};

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}


/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "docs/build/";

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ((function(modules) {
	// Check all modules for deduplicated modules
	for(var i in modules) {
		if(Object.prototype.hasOwnProperty.call(modules, i)) {
			switch(typeof modules[i]) {
			case "function": break;
			case "object":
				// Module can be created from a template
				modules[i] = (function(_m) {
					var args = _m.slice(1), fn = modules[_m[0]];
					return function (a,b,c) {
						fn.apply(this, [a,b,c].concat(args));
					};
				}(modules[i]));
				break;
			default:
				// Module is a copy of another module
				modules[i] = modules[modules[i]];
				break;
			}
		}
	}
	return modules;
}([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {

	module.exports = __webpack_require__(1);


/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	var _react = __webpack_require__(2);

	var _react2 = _interopRequireDefault(_react);

	var _reactDom = __webpack_require__(32);

	var _reactDom2 = _interopRequireDefault(_reactDom);

	var _Home = __webpack_require__(171);

	var _Home2 = _interopRequireDefault(_Home);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	// const html = ReactDOMServer.renderToString(React.createElement(Home))
	// console.log(html)

	if (typeof document !== 'undefined') {
	  _reactDom2.default.render(_react2.default.createElement(_Home2.default), document.getElementById('root'));
	}
	// import ReactDOMServer from 'react-dom-server'

	module.exports = _Home2.default;

/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	module.exports = __webpack_require__(3);


/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _assign = __webpack_require__(4);

	var ReactBaseClasses = __webpack_require__(5);
	var ReactChildren = __webpack_require__(14);
	var ReactDOMFactories = __webpack_require__(22);
	var ReactElement = __webpack_require__(16);
	var ReactPropTypes = __webpack_require__(23);
	var ReactVersion = __webpack_require__(28);

	var createReactClass = __webpack_require__(29);
	var onlyChild = __webpack_require__(31);

	var createElement = ReactElement.createElement;
	var createFactory = ReactElement.createFactory;
	var cloneElement = ReactElement.cloneElement;

	if (false) {
	  var lowPriorityWarning = require('./lowPriorityWarning');
	  var canDefineProperty = require('./canDefineProperty');
	  var ReactElementValidator = require('./ReactElementValidator');
	  var didWarnPropTypesDeprecated = false;
	  createElement = ReactElementValidator.createElement;
	  createFactory = ReactElementValidator.createFactory;
	  cloneElement = ReactElementValidator.cloneElement;
	}

	var __spread = _assign;
	var createMixin = function (mixin) {
	  return mixin;
	};

	if (false) {
	  var warnedForSpread = false;
	  var warnedForCreateMixin = false;
	  __spread = function () {
	    lowPriorityWarning(warnedForSpread, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.');
	    warnedForSpread = true;
	    return _assign.apply(null, arguments);
	  };

	  createMixin = function (mixin) {
	    lowPriorityWarning(warnedForCreateMixin, 'React.createMixin is deprecated and should not be used. ' + 'In React v16.0, it will be removed. ' + 'You can use this mixin directly instead. ' + 'See https://fb.me/createmixin-was-never-implemented for more info.');
	    warnedForCreateMixin = true;
	    return mixin;
	  };
	}

	var React = {
	  // Modern

	  Children: {
	    map: ReactChildren.map,
	    forEach: ReactChildren.forEach,
	    count: ReactChildren.count,
	    toArray: ReactChildren.toArray,
	    only: onlyChild
	  },

	  Component: ReactBaseClasses.Component,
	  PureComponent: ReactBaseClasses.PureComponent,

	  createElement: createElement,
	  cloneElement: cloneElement,
	  isValidElement: ReactElement.isValidElement,

	  // Classic

	  PropTypes: ReactPropTypes,
	  createClass: createReactClass,
	  createFactory: createFactory,
	  createMixin: createMixin,

	  // This looks DOM specific but these are actually isomorphic helpers
	  // since they are just generating DOM strings.
	  DOM: ReactDOMFactories,

	  version: ReactVersion,

	  // Deprecated hook for JSX spread, don't use this for anything.
	  __spread: __spread
	};

	if (false) {
	  var warnedForCreateClass = false;
	  if (canDefineProperty) {
	    Object.defineProperty(React, 'PropTypes', {
	      get: function () {
	        lowPriorityWarning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated,' + ' and will be removed in  React v16.0.' + ' Use the latest available v15.* prop-types package from npm instead.' + ' For info on usage, compatibility, migration and more, see ' + 'https://fb.me/prop-types-docs');
	        didWarnPropTypesDeprecated = true;
	        return ReactPropTypes;
	      }
	    });

	    Object.defineProperty(React, 'createClass', {
	      get: function () {
	        lowPriorityWarning(warnedForCreateClass, 'Accessing createClass via the main React package is deprecated,' + ' and will be removed in React v16.0.' + " Use a plain JavaScript class instead. If you're not yet " + 'ready to migrate, create-react-class v15.* is available ' + 'on npm as a temporary, drop-in replacement. ' + 'For more info see https://fb.me/react-create-class');
	        warnedForCreateClass = true;
	        return createReactClass;
	      }
	    });
	  }

	  // React.DOM factories are deprecated. Wrap these methods so that
	  // invocations of the React.DOM namespace and alert users to switch
	  // to the `react-dom-factories` package.
	  React.DOM = {};
	  var warnedForFactories = false;
	  Object.keys(ReactDOMFactories).forEach(function (factory) {
	    React.DOM[factory] = function () {
	      if (!warnedForFactories) {
	        lowPriorityWarning(false, 'Accessing factories like React.DOM.%s has been deprecated ' + 'and will be removed in v16.0+. Use the ' + 'react-dom-factories package instead. ' + ' Version 1.0 provides a drop-in replacement.' + ' For more info, see https://fb.me/react-dom-factories', factory);
	        warnedForFactories = true;
	      }
	      return ReactDOMFactories[factory].apply(ReactDOMFactories, arguments);
	    };
	  });
	}

	module.exports = React;

/***/ }),
/* 4 */
/***/ (function(module, exports) {

	/*
	object-assign
	(c) Sindre Sorhus
	@license MIT
	*/

	'use strict';
	/* eslint-disable no-unused-vars */
	var getOwnPropertySymbols = Object.getOwnPropertySymbols;
	var hasOwnProperty = Object.prototype.hasOwnProperty;
	var propIsEnumerable = Object.prototype.propertyIsEnumerable;

	function toObject(val) {
		if (val === null || val === undefined) {
			throw new TypeError('Object.assign cannot be called with null or undefined');
		}

		return Object(val);
	}

	function shouldUseNative() {
		try {
			if (!Object.assign) {
				return false;
			}

			// Detect buggy property enumeration order in older V8 versions.

			// https://bugs.chromium.org/p/v8/issues/detail?id=4118
			var test1 = new String('abc');  // eslint-disable-line no-new-wrappers
			test1[5] = 'de';
			if (Object.getOwnPropertyNames(test1)[0] === '5') {
				return false;
			}

			// https://bugs.chromium.org/p/v8/issues/detail?id=3056
			var test2 = {};
			for (var i = 0; i < 10; i++) {
				test2['_' + String.fromCharCode(i)] = i;
			}
			var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
				return test2[n];
			});
			if (order2.join('') !== '0123456789') {
				return false;
			}

			// https://bugs.chromium.org/p/v8/issues/detail?id=3056
			var test3 = {};
			'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
				test3[letter] = letter;
			});
			if (Object.keys(Object.assign({}, test3)).join('') !==
					'abcdefghijklmnopqrst') {
				return false;
			}

			return true;
		} catch (err) {
			// We don't expect any of the above to throw, but better to be safe.
			return false;
		}
	}

	module.exports = shouldUseNative() ? Object.assign : function (target, source) {
		var from;
		var to = toObject(target);
		var symbols;

		for (var s = 1; s < arguments.length; s++) {
			from = Object(arguments[s]);

			for (var key in from) {
				if (hasOwnProperty.call(from, key)) {
					to[key] = from[key];
				}
			}

			if (getOwnPropertySymbols) {
				symbols = getOwnPropertySymbols(from);
				for (var i = 0; i < symbols.length; i++) {
					if (propIsEnumerable.call(from, symbols[i])) {
						to[symbols[i]] = from[symbols[i]];
					}
				}
			}
		}

		return to;
	};


/***/ }),
/* 5 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _prodInvariant = __webpack_require__(6),
	    _assign = __webpack_require__(4);

	var ReactNoopUpdateQueue = __webpack_require__(7);

	var canDefineProperty = __webpack_require__(10);
	var emptyObject = __webpack_require__(11);
	var invariant = __webpack_require__(12);
	var lowPriorityWarning = __webpack_require__(13);

	/**
	 * Base class helpers for the updating state of a component.
	 */
	function ReactComponent(props, context, updater) {
	  this.props = props;
	  this.context = context;
	  this.refs = emptyObject;
	  // We initialize the default updater but the real one gets injected by the
	  // renderer.
	  this.updater = updater || ReactNoopUpdateQueue;
	}

	ReactComponent.prototype.isReactComponent = {};

	/**
	 * Sets a subset of the state. Always use this to mutate
	 * state. You should treat `this.state` as immutable.
	 *
	 * There is no guarantee that `this.state` will be immediately updated, so
	 * accessing `this.state` after calling this method may return the old value.
	 *
	 * There is no guarantee that calls to `setState` will run synchronously,
	 * as they may eventually be batched together.  You can provide an optional
	 * callback that will be executed when the call to setState is actually
	 * completed.
	 *
	 * When a function is provided to setState, it will be called at some point in
	 * the future (not synchronously). It will be called with the up to date
	 * component arguments (state, props, context). These values can be different
	 * from this.* because your function may be called after receiveProps but before
	 * shouldComponentUpdate, and this new state, props, and context will not yet be
	 * assigned to this.
	 *
	 * @param {object|function} partialState Next partial state or function to
	 *        produce next partial state to be merged with current state.
	 * @param {?function} callback Called after state is updated.
	 * @final
	 * @protected
	 */
	ReactComponent.prototype.setState = function (partialState, callback) {
	  !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ?  false ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;
	  this.updater.enqueueSetState(this, partialState);
	  if (callback) {
	    this.updater.enqueueCallback(this, callback, 'setState');
	  }
	};

	/**
	 * Forces an update. This should only be invoked when it is known with
	 * certainty that we are **not** in a DOM transaction.
	 *
	 * You may want to call this when you know that some deeper aspect of the
	 * component's state has changed but `setState` was not called.
	 *
	 * This will not invoke `shouldComponentUpdate`, but it will invoke
	 * `componentWillUpdate` and `componentDidUpdate`.
	 *
	 * @param {?function} callback Called after update is complete.
	 * @final
	 * @protected
	 */
	ReactComponent.prototype.forceUpdate = function (callback) {
	  this.updater.enqueueForceUpdate(this);
	  if (callback) {
	    this.updater.enqueueCallback(this, callback, 'forceUpdate');
	  }
	};

	/**
	 * Deprecated APIs. These APIs used to exist on classic React classes but since
	 * we would like to deprecate them, we're not going to move them over to this
	 * modern base class. Instead, we define a getter that warns if it's accessed.
	 */
	if (false) {
	  var deprecatedAPIs = {
	    isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],
	    replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']
	  };
	  var defineDeprecationWarning = function (methodName, info) {
	    if (canDefineProperty) {
	      Object.defineProperty(ReactComponent.prototype, methodName, {
	        get: function () {
	          lowPriorityWarning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);
	          return undefined;
	        }
	      });
	    }
	  };
	  for (var fnName in deprecatedAPIs) {
	    if (deprecatedAPIs.hasOwnProperty(fnName)) {
	      defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
	    }
	  }
	}

	/**
	 * Base class helpers for the updating state of a component.
	 */
	function ReactPureComponent(props, context, updater) {
	  // Duplicated from ReactComponent.
	  this.props = props;
	  this.context = context;
	  this.refs = emptyObject;
	  // We initialize the default updater but the real one gets injected by the
	  // renderer.
	  this.updater = updater || ReactNoopUpdateQueue;
	}

	function ComponentDummy() {}
	ComponentDummy.prototype = ReactComponent.prototype;
	ReactPureComponent.prototype = new ComponentDummy();
	ReactPureComponent.prototype.constructor = ReactPureComponent;
	// Avoid an extra prototype jump for these methods.
	_assign(ReactPureComponent.prototype, ReactComponent.prototype);
	ReactPureComponent.prototype.isPureReactComponent = true;

	module.exports = {
	  Component: ReactComponent,
	  PureComponent: ReactPureComponent
	};

/***/ }),
/* 6 */
/***/ (function(module, exports) {

	/**
	 * Copyright (c) 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 * 
	 */
	'use strict';

	/**
	 * WARNING: DO NOT manually require this module.
	 * This is a replacement for `invariant(...)` used by the error code system
	 * and will _only_ be required by the corresponding babel pass.
	 * It always throws.
	 */

	function reactProdInvariant(code) {
	  var argCount = arguments.length - 1;

	  var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;

	  for (var argIdx = 0; argIdx < argCount; argIdx++) {
	    message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);
	  }

	  message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';

	  var error = new Error(message);
	  error.name = 'Invariant Violation';
	  error.framesToPop = 1; // we don't care about reactProdInvariant's own frame

	  throw error;
	}

	module.exports = reactProdInvariant;

/***/ }),
/* 7 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2015-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var warning = __webpack_require__(8);

	function warnNoop(publicInstance, callerName) {
	  if (false) {
	    var constructor = publicInstance.constructor;
	    process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;
	  }
	}

	/**
	 * This is the abstract API for an update queue.
	 */
	var ReactNoopUpdateQueue = {
	  /**
	   * Checks whether or not this composite component is mounted.
	   * @param {ReactClass} publicInstance The instance we want to test.
	   * @return {boolean} True if mounted, false otherwise.
	   * @protected
	   * @final
	   */
	  isMounted: function (publicInstance) {
	    return false;
	  },

	  /**
	   * Enqueue a callback that will be executed after all the pending updates
	   * have processed.
	   *
	   * @param {ReactClass} publicInstance The instance to use as `this` context.
	   * @param {?function} callback Called after state is updated.
	   * @internal
	   */
	  enqueueCallback: function (publicInstance, callback) {},

	  /**
	   * Forces an update. This should only be invoked when it is known with
	   * certainty that we are **not** in a DOM transaction.
	   *
	   * You may want to call this when you know that some deeper aspect of the
	   * component's state has changed but `setState` was not called.
	   *
	   * This will not invoke `shouldComponentUpdate`, but it will invoke
	   * `componentWillUpdate` and `componentDidUpdate`.
	   *
	   * @param {ReactClass} publicInstance The instance that should rerender.
	   * @internal
	   */
	  enqueueForceUpdate: function (publicInstance) {
	    warnNoop(publicInstance, 'forceUpdate');
	  },

	  /**
	   * Replaces all of the state. Always use this or `setState` to mutate state.
	   * You should treat `this.state` as immutable.
	   *
	   * There is no guarantee that `this.state` will be immediately updated, so
	   * accessing `this.state` after calling this method may return the old value.
	   *
	   * @param {ReactClass} publicInstance The instance that should rerender.
	   * @param {object} completeState Next state.
	   * @internal
	   */
	  enqueueReplaceState: function (publicInstance, completeState) {
	    warnNoop(publicInstance, 'replaceState');
	  },

	  /**
	   * Sets a subset of the state. This only exists because _pendingState is
	   * internal. This provides a merging strategy that is not available to deep
	   * properties which is confusing. TODO: Expose pendingState or don't use it
	   * during the merge.
	   *
	   * @param {ReactClass} publicInstance The instance that should rerender.
	   * @param {object} partialState Next partial state to be merged with state.
	   * @internal
	   */
	  enqueueSetState: function (publicInstance, partialState) {
	    warnNoop(publicInstance, 'setState');
	  }
	};

	module.exports = ReactNoopUpdateQueue;

/***/ }),
/* 8 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2014-2015, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var emptyFunction = __webpack_require__(9);

	/**
	 * Similar to invariant but only logs a warning if the condition is not met.
	 * This can be used to log issues in development environments in critical
	 * paths. Removing the logging code for production environments will keep the
	 * same logic and follow the same code paths.
	 */

	var warning = emptyFunction;

	if (false) {
	  (function () {
	    var printWarning = function printWarning(format) {
	      for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
	        args[_key - 1] = arguments[_key];
	      }

	      var argIndex = 0;
	      var message = 'Warning: ' + format.replace(/%s/g, function () {
	        return args[argIndex++];
	      });
	      if (typeof console !== 'undefined') {
	        console.error(message);
	      }
	      try {
	        // --- Welcome to debugging React ---
	        // This error was thrown as a convenience so that you can use this stack
	        // to find the callsite that caused this warning to fire.
	        throw new Error(message);
	      } catch (x) {}
	    };

	    warning = function warning(condition, format) {
	      if (format === undefined) {
	        throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
	      }

	      if (format.indexOf('Failed Composite propType: ') === 0) {
	        return; // Ignore CompositeComponent proptype check.
	      }

	      if (!condition) {
	        for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
	          args[_key2 - 2] = arguments[_key2];
	        }

	        printWarning.apply(undefined, [format].concat(args));
	      }
	    };
	  })();
	}

	module.exports = warning;

/***/ }),
/* 9 */
/***/ (function(module, exports) {

	"use strict";

	/**
	 * Copyright (c) 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 * 
	 */

	function makeEmptyFunction(arg) {
	  return function () {
	    return arg;
	  };
	}

	/**
	 * This function accepts and discards inputs; it has no side effects. This is
	 * primarily useful idiomatically for overridable function endpoints which
	 * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
	 */
	var emptyFunction = function emptyFunction() {};

	emptyFunction.thatReturns = makeEmptyFunction;
	emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
	emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
	emptyFunction.thatReturnsNull = makeEmptyFunction(null);
	emptyFunction.thatReturnsThis = function () {
	  return this;
	};
	emptyFunction.thatReturnsArgument = function (arg) {
	  return arg;
	};

	module.exports = emptyFunction;

/***/ }),
/* 10 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 * 
	 */

	'use strict';

	var canDefineProperty = false;
	if (false) {
	  try {
	    // $FlowFixMe https://github.com/facebook/flow/issues/285
	    Object.defineProperty({}, 'x', { get: function () {} });
	    canDefineProperty = true;
	  } catch (x) {
	    // IE will fail on defineProperty
	  }
	}

	module.exports = canDefineProperty;

/***/ }),
/* 11 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright (c) 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var emptyObject = {};

	if (false) {
	  Object.freeze(emptyObject);
	}

	module.exports = emptyObject;

/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright (c) 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	/**
	 * Use invariant() to assert state which your program assumes to be true.
	 *
	 * Provide sprintf-style format (only %s is supported) and arguments
	 * to provide information about what broke and what you were
	 * expecting.
	 *
	 * The invariant message will be stripped in production, but the invariant
	 * will remain to ensure logic does not differ in production.
	 */

	var validateFormat = function validateFormat(format) {};

	if (false) {
	  validateFormat = function validateFormat(format) {
	    if (format === undefined) {
	      throw new Error('invariant requires an error message argument');
	    }
	  };
	}

	function invariant(condition, format, a, b, c, d, e, f) {
	  validateFormat(format);

	  if (!condition) {
	    var error;
	    if (format === undefined) {
	      error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
	    } else {
	      var args = [a, b, c, d, e, f];
	      var argIndex = 0;
	      error = new Error(format.replace(/%s/g, function () {
	        return args[argIndex++];
	      }));
	      error.name = 'Invariant Violation';
	    }

	    error.framesToPop = 1; // we don't care about invariant's own frame
	    throw error;
	  }
	}

	module.exports = invariant;

/***/ }),
/* 13 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2014-2015, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	/**
	 * Forked from fbjs/warning:
	 * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
	 *
	 * Only change is we use console.warn instead of console.error,
	 * and do nothing when 'console' is not supported.
	 * This really simplifies the code.
	 * ---
	 * Similar to invariant but only logs a warning if the condition is not met.
	 * This can be used to log issues in development environments in critical
	 * paths. Removing the logging code for production environments will keep the
	 * same logic and follow the same code paths.
	 */

	var lowPriorityWarning = function () {};

	if (false) {
	  var printWarning = function (format) {
	    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
	      args[_key - 1] = arguments[_key];
	    }

	    var argIndex = 0;
	    var message = 'Warning: ' + format.replace(/%s/g, function () {
	      return args[argIndex++];
	    });
	    if (typeof console !== 'undefined') {
	      console.warn(message);
	    }
	    try {
	      // --- Welcome to debugging React ---
	      // This error was thrown as a convenience so that you can use this stack
	      // to find the callsite that caused this warning to fire.
	      throw new Error(message);
	    } catch (x) {}
	  };

	  lowPriorityWarning = function (condition, format) {
	    if (format === undefined) {
	      throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
	    }
	    if (!condition) {
	      for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
	        args[_key2 - 2] = arguments[_key2];
	      }

	      printWarning.apply(undefined, [format].concat(args));
	    }
	  };
	}

	module.exports = lowPriorityWarning;

/***/ }),
/* 14 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var PooledClass = __webpack_require__(15);
	var ReactElement = __webpack_require__(16);

	var emptyFunction = __webpack_require__(9);
	var traverseAllChildren = __webpack_require__(19);

	var twoArgumentPooler = PooledClass.twoArgumentPooler;
	var fourArgumentPooler = PooledClass.fourArgumentPooler;

	var userProvidedKeyEscapeRegex = /\/+/g;
	function escapeUserProvidedKey(text) {
	  return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');
	}

	/**
	 * PooledClass representing the bookkeeping associated with performing a child
	 * traversal. Allows avoiding binding callbacks.
	 *
	 * @constructor ForEachBookKeeping
	 * @param {!function} forEachFunction Function to perform traversal with.
	 * @param {?*} forEachContext Context to perform context with.
	 */
	function ForEachBookKeeping(forEachFunction, forEachContext) {
	  this.func = forEachFunction;
	  this.context = forEachContext;
	  this.count = 0;
	}
	ForEachBookKeeping.prototype.destructor = function () {
	  this.func = null;
	  this.context = null;
	  this.count = 0;
	};
	PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);

	function forEachSingleChild(bookKeeping, child, name) {
	  var func = bookKeeping.func,
	      context = bookKeeping.context;

	  func.call(context, child, bookKeeping.count++);
	}

	/**
	 * Iterates through children that are typically specified as `props.children`.
	 *
	 * See https://facebook.github.io/react/docs/top-level-api.html#react.children.foreach
	 *
	 * The provided forEachFunc(child, index) will be called for each
	 * leaf child.
	 *
	 * @param {?*} children Children tree container.
	 * @param {function(*, int)} forEachFunc
	 * @param {*} forEachContext Context for forEachContext.
	 */
	function forEachChildren(children, forEachFunc, forEachContext) {
	  if (children == null) {
	    return children;
	  }
	  var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);
	  traverseAllChildren(children, forEachSingleChild, traverseContext);
	  ForEachBookKeeping.release(traverseContext);
	}

	/**
	 * PooledClass representing the bookkeeping associated with performing a child
	 * mapping. Allows avoiding binding callbacks.
	 *
	 * @constructor MapBookKeeping
	 * @param {!*} mapResult Object containing the ordered map of results.
	 * @param {!function} mapFunction Function to perform mapping with.
	 * @param {?*} mapContext Context to perform mapping with.
	 */
	function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {
	  this.result = mapResult;
	  this.keyPrefix = keyPrefix;
	  this.func = mapFunction;
	  this.context = mapContext;
	  this.count = 0;
	}
	MapBookKeeping.prototype.destructor = function () {
	  this.result = null;
	  this.keyPrefix = null;
	  this.func = null;
	  this.context = null;
	  this.count = 0;
	};
	PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);

	function mapSingleChildIntoContext(bookKeeping, child, childKey) {
	  var result = bookKeeping.result,
	      keyPrefix = bookKeeping.keyPrefix,
	      func = bookKeeping.func,
	      context = bookKeeping.context;


	  var mappedChild = func.call(context, child, bookKeeping.count++);
	  if (Array.isArray(mappedChild)) {
	    mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);
	  } else if (mappedChild != null) {
	    if (ReactElement.isValidElement(mappedChild)) {
	      mappedChild = ReactElement.cloneAndReplaceKey(mappedChild,
	      // Keep both the (mapped) and old keys if they differ, just as
	      // traverseAllChildren used to do for objects as children
	      keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);
	    }
	    result.push(mappedChild);
	  }
	}

	function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {
	  var escapedPrefix = '';
	  if (prefix != null) {
	    escapedPrefix = escapeUserProvidedKey(prefix) + '/';
	  }
	  var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);
	  traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);
	  MapBookKeeping.release(traverseContext);
	}

	/**
	 * Maps children that are typically specified as `props.children`.
	 *
	 * See https://facebook.github.io/react/docs/top-level-api.html#react.children.map
	 *
	 * The provided mapFunction(child, key, index) will be called for each
	 * leaf child.
	 *
	 * @param {?*} children Children tree container.
	 * @param {function(*, int)} func The map function.
	 * @param {*} context Context for mapFunction.
	 * @return {object} Object containing the ordered map of results.
	 */
	function mapChildren(children, func, context) {
	  if (children == null) {
	    return children;
	  }
	  var result = [];
	  mapIntoWithKeyPrefixInternal(children, result, null, func, context);
	  return result;
	}

	function forEachSingleChildDummy(traverseContext, child, name) {
	  return null;
	}

	/**
	 * Count the number of children that are typically specified as
	 * `props.children`.
	 *
	 * See https://facebook.github.io/react/docs/top-level-api.html#react.children.count
	 *
	 * @param {?*} children Children tree container.
	 * @return {number} The number of children.
	 */
	function countChildren(children, context) {
	  return traverseAllChildren(children, forEachSingleChildDummy, null);
	}

	/**
	 * Flatten a children object (typically specified as `props.children`) and
	 * return an array with appropriately re-keyed children.
	 *
	 * See https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray
	 */
	function toArray(children) {
	  var result = [];
	  mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument);
	  return result;
	}

	var ReactChildren = {
	  forEach: forEachChildren,
	  map: mapChildren,
	  mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,
	  count: countChildren,
	  toArray: toArray
	};

	module.exports = ReactChildren;

/***/ }),
/* 15 */
[443, 6],
/* 16 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2014-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _assign = __webpack_require__(4);

	var ReactCurrentOwner = __webpack_require__(17);

	var warning = __webpack_require__(8);
	var canDefineProperty = __webpack_require__(10);
	var hasOwnProperty = Object.prototype.hasOwnProperty;

	var REACT_ELEMENT_TYPE = __webpack_require__(18);

	var RESERVED_PROPS = {
	  key: true,
	  ref: true,
	  __self: true,
	  __source: true
	};

	var specialPropKeyWarningShown, specialPropRefWarningShown;

	function hasValidRef(config) {
	  if (false) {
	    if (hasOwnProperty.call(config, 'ref')) {
	      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;
	      if (getter && getter.isReactWarning) {
	        return false;
	      }
	    }
	  }
	  return config.ref !== undefined;
	}

	function hasValidKey(config) {
	  if (false) {
	    if (hasOwnProperty.call(config, 'key')) {
	      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;
	      if (getter && getter.isReactWarning) {
	        return false;
	      }
	    }
	  }
	  return config.key !== undefined;
	}

	function defineKeyPropWarningGetter(props, displayName) {
	  var warnAboutAccessingKey = function () {
	    if (!specialPropKeyWarningShown) {
	      specialPropKeyWarningShown = true;
	       false ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;
	    }
	  };
	  warnAboutAccessingKey.isReactWarning = true;
	  Object.defineProperty(props, 'key', {
	    get: warnAboutAccessingKey,
	    configurable: true
	  });
	}

	function defineRefPropWarningGetter(props, displayName) {
	  var warnAboutAccessingRef = function () {
	    if (!specialPropRefWarningShown) {
	      specialPropRefWarningShown = true;
	       false ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;
	    }
	  };
	  warnAboutAccessingRef.isReactWarning = true;
	  Object.defineProperty(props, 'ref', {
	    get: warnAboutAccessingRef,
	    configurable: true
	  });
	}

	/**
	 * Factory method to create a new React element. This no longer adheres to
	 * the class pattern, so do not use new to call it. Also, no instanceof check
	 * will work. Instead test $$typeof field against Symbol.for('react.element') to check
	 * if something is a React Element.
	 *
	 * @param {*} type
	 * @param {*} key
	 * @param {string|object} ref
	 * @param {*} self A *temporary* helper to detect places where `this` is
	 * different from the `owner` when React.createElement is called, so that we
	 * can warn. We want to get rid of owner and replace string `ref`s with arrow
	 * functions, and as long as `this` and owner are the same, there will be no
	 * change in behavior.
	 * @param {*} source An annotation object (added by a transpiler or otherwise)
	 * indicating filename, line number, and/or other information.
	 * @param {*} owner
	 * @param {*} props
	 * @internal
	 */
	var ReactElement = function (type, key, ref, self, source, owner, props) {
	  var element = {
	    // This tag allow us to uniquely identify this as a React Element
	    $$typeof: REACT_ELEMENT_TYPE,

	    // Built-in properties that belong on the element
	    type: type,
	    key: key,
	    ref: ref,
	    props: props,

	    // Record the component responsible for creating this element.
	    _owner: owner
	  };

	  if (false) {
	    // The validation flag is currently mutative. We put it on
	    // an external backing store so that we can freeze the whole object.
	    // This can be replaced with a WeakMap once they are implemented in
	    // commonly used development environments.
	    element._store = {};

	    // To make comparing ReactElements easier for testing purposes, we make
	    // the validation flag non-enumerable (where possible, which should
	    // include every environment we run tests in), so the test framework
	    // ignores it.
	    if (canDefineProperty) {
	      Object.defineProperty(element._store, 'validated', {
	        configurable: false,
	        enumerable: false,
	        writable: true,
	        value: false
	      });
	      // self and source are DEV only properties.
	      Object.defineProperty(element, '_self', {
	        configurable: false,
	        enumerable: false,
	        writable: false,
	        value: self
	      });
	      // Two elements created in two different places should be considered
	      // equal for testing purposes and therefore we hide it from enumeration.
	      Object.defineProperty(element, '_source', {
	        configurable: false,
	        enumerable: false,
	        writable: false,
	        value: source
	      });
	    } else {
	      element._store.validated = false;
	      element._self = self;
	      element._source = source;
	    }
	    if (Object.freeze) {
	      Object.freeze(element.props);
	      Object.freeze(element);
	    }
	  }

	  return element;
	};

	/**
	 * Create and return a new ReactElement of the given type.
	 * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement
	 */
	ReactElement.createElement = function (type, config, children) {
	  var propName;

	  // Reserved names are extracted
	  var props = {};

	  var key = null;
	  var ref = null;
	  var self = null;
	  var source = null;

	  if (config != null) {
	    if (hasValidRef(config)) {
	      ref = config.ref;
	    }
	    if (hasValidKey(config)) {
	      key = '' + config.key;
	    }

	    self = config.__self === undefined ? null : config.__self;
	    source = config.__source === undefined ? null : config.__source;
	    // Remaining properties are added to a new props object
	    for (propName in config) {
	      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
	        props[propName] = config[propName];
	      }
	    }
	  }

	  // Children can be more than one argument, and those are transferred onto
	  // the newly allocated props object.
	  var childrenLength = arguments.length - 2;
	  if (childrenLength === 1) {
	    props.children = children;
	  } else if (childrenLength > 1) {
	    var childArray = Array(childrenLength);
	    for (var i = 0; i < childrenLength; i++) {
	      childArray[i] = arguments[i + 2];
	    }
	    if (false) {
	      if (Object.freeze) {
	        Object.freeze(childArray);
	      }
	    }
	    props.children = childArray;
	  }

	  // Resolve default props
	  if (type && type.defaultProps) {
	    var defaultProps = type.defaultProps;
	    for (propName in defaultProps) {
	      if (props[propName] === undefined) {
	        props[propName] = defaultProps[propName];
	      }
	    }
	  }
	  if (false) {
	    if (key || ref) {
	      if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {
	        var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
	        if (key) {
	          defineKeyPropWarningGetter(props, displayName);
	        }
	        if (ref) {
	          defineRefPropWarningGetter(props, displayName);
	        }
	      }
	    }
	  }
	  return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
	};

	/**
	 * Return a function that produces ReactElements of a given type.
	 * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory
	 */
	ReactElement.createFactory = function (type) {
	  var factory = ReactElement.createElement.bind(null, type);
	  // Expose the type on the factory and the prototype so that it can be
	  // easily accessed on elements. E.g. `<Foo />.type === Foo`.
	  // This should not be named `constructor` since this may not be the function
	  // that created the element, and it may not even be a constructor.
	  // Legacy hook TODO: Warn if this is accessed
	  factory.type = type;
	  return factory;
	};

	ReactElement.cloneAndReplaceKey = function (oldElement, newKey) {
	  var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);

	  return newElement;
	};

	/**
	 * Clone and return a new ReactElement using element as the starting point.
	 * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement
	 */
	ReactElement.cloneElement = function (element, config, children) {
	  var propName;

	  // Original props are copied
	  var props = _assign({}, element.props);

	  // Reserved names are extracted
	  var key = element.key;
	  var ref = element.ref;
	  // Self is preserved since the owner is preserved.
	  var self = element._self;
	  // Source is preserved since cloneElement is unlikely to be targeted by a
	  // transpiler, and the original source is probably a better indicator of the
	  // true owner.
	  var source = element._source;

	  // Owner will be preserved, unless ref is overridden
	  var owner = element._owner;

	  if (config != null) {
	    if (hasValidRef(config)) {
	      // Silently steal the ref from the parent.
	      ref = config.ref;
	      owner = ReactCurrentOwner.current;
	    }
	    if (hasValidKey(config)) {
	      key = '' + config.key;
	    }

	    // Remaining properties override existing props
	    var defaultProps;
	    if (element.type && element.type.defaultProps) {
	      defaultProps = element.type.defaultProps;
	    }
	    for (propName in config) {
	      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
	        if (config[propName] === undefined && defaultProps !== undefined) {
	          // Resolve default props
	          props[propName] = defaultProps[propName];
	        } else {
	          props[propName] = config[propName];
	        }
	      }
	    }
	  }

	  // Children can be more than one argument, and those are transferred onto
	  // the newly allocated props object.
	  var childrenLength = arguments.length - 2;
	  if (childrenLength === 1) {
	    props.children = children;
	  } else if (childrenLength > 1) {
	    var childArray = Array(childrenLength);
	    for (var i = 0; i < childrenLength; i++) {
	      childArray[i] = arguments[i + 2];
	    }
	    props.children = childArray;
	  }

	  return ReactElement(element.type, key, ref, self, source, owner, props);
	};

	/**
	 * Verifies the object is a ReactElement.
	 * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement
	 * @param {?object} object
	 * @return {boolean} True if `object` is a valid component.
	 * @final
	 */
	ReactElement.isValidElement = function (object) {
	  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
	};

	module.exports = ReactElement;

/***/ }),
/* 17 */
/***/ (function(module, exports) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 * 
	 */

	'use strict';

	/**
	 * Keeps track of the current owner.
	 *
	 * The current owner is the component who should own any components that are
	 * currently being constructed.
	 */
	var ReactCurrentOwner = {
	  /**
	   * @internal
	   * @type {ReactComponent}
	   */
	  current: null
	};

	module.exports = ReactCurrentOwner;

/***/ }),
/* 18 */
/***/ (function(module, exports) {

	/**
	 * Copyright 2014-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 * 
	 */

	'use strict';

	// The Symbol used to tag the ReactElement type. If there is no native Symbol
	// nor polyfill, then a plain number is used for performance.

	var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;

	module.exports = REACT_ELEMENT_TYPE;

/***/ }),
/* 19 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _prodInvariant = __webpack_require__(6);

	var ReactCurrentOwner = __webpack_require__(17);
	var REACT_ELEMENT_TYPE = __webpack_require__(18);

	var getIteratorFn = __webpack_require__(20);
	var invariant = __webpack_require__(12);
	var KeyEscapeUtils = __webpack_require__(21);
	var warning = __webpack_require__(8);

	var SEPARATOR = '.';
	var SUBSEPARATOR = ':';

	/**
	 * This is inlined from ReactElement since this file is shared between
	 * isomorphic and renderers. We could extract this to a
	 *
	 */

	/**
	 * TODO: Test that a single child and an array with one item have the same key
	 * pattern.
	 */

	var didWarnAboutMaps = false;

	/**
	 * Generate a key string that identifies a component within a set.
	 *
	 * @param {*} component A component that could contain a manual key.
	 * @param {number} index Index that is used if a manual key is not provided.
	 * @return {string}
	 */
	function getComponentKey(component, index) {
	  // Do some typechecking here since we call this blindly. We want to ensure
	  // that we don't block potential future ES APIs.
	  if (component && typeof component === 'object' && component.key != null) {
	    // Explicit key
	    return KeyEscapeUtils.escape(component.key);
	  }
	  // Implicit key determined by the index in the set
	  return index.toString(36);
	}

	/**
	 * @param {?*} children Children tree container.
	 * @param {!string} nameSoFar Name of the key path so far.
	 * @param {!function} callback Callback to invoke with each child found.
	 * @param {?*} traverseContext Used to pass information throughout the traversal
	 * process.
	 * @return {!number} The number of children in this subtree.
	 */
	function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {
	  var type = typeof children;

	  if (type === 'undefined' || type === 'boolean') {
	    // All of the above are perceived as null.
	    children = null;
	  }

	  if (children === null || type === 'string' || type === 'number' ||
	  // The following is inlined from ReactElement. This means we can optimize
	  // some checks. React Fiber also inlines this logic for similar purposes.
	  type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) {
	    callback(traverseContext, children,
	    // If it's the only child, treat the name as if it was wrapped in an array
	    // so that it's consistent if the number of children grows.
	    nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);
	    return 1;
	  }

	  var child;
	  var nextName;
	  var subtreeCount = 0; // Count of children found in the current subtree.
	  var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;

	  if (Array.isArray(children)) {
	    for (var i = 0; i < children.length; i++) {
	      child = children[i];
	      nextName = nextNamePrefix + getComponentKey(child, i);
	      subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
	    }
	  } else {
	    var iteratorFn = getIteratorFn(children);
	    if (iteratorFn) {
	      var iterator = iteratorFn.call(children);
	      var step;
	      if (iteratorFn !== children.entries) {
	        var ii = 0;
	        while (!(step = iterator.next()).done) {
	          child = step.value;
	          nextName = nextNamePrefix + getComponentKey(child, ii++);
	          subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
	        }
	      } else {
	        if (false) {
	          var mapsAsChildrenAddendum = '';
	          if (ReactCurrentOwner.current) {
	            var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();
	            if (mapsAsChildrenOwnerName) {
	              mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';
	            }
	          }
	          process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;
	          didWarnAboutMaps = true;
	        }
	        // Iterator will provide entry [k,v] tuples rather than values.
	        while (!(step = iterator.next()).done) {
	          var entry = step.value;
	          if (entry) {
	            child = entry[1];
	            nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);
	            subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
	          }
	        }
	      }
	    } else if (type === 'object') {
	      var addendum = '';
	      if (false) {
	        addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';
	        if (children._isReactElement) {
	          addendum = " It looks like you're using an element created by a different " + 'version of React. Make sure to use only one copy of React.';
	        }
	        if (ReactCurrentOwner.current) {
	          var name = ReactCurrentOwner.current.getName();
	          if (name) {
	            addendum += ' Check the render method of `' + name + '`.';
	          }
	        }
	      }
	      var childrenString = String(children);
	       true ?  false ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;
	    }
	  }

	  return subtreeCount;
	}

	/**
	 * Traverses children that are typically specified as `props.children`, but
	 * might also be specified through attributes:
	 *
	 * - `traverseAllChildren(this.props.children, ...)`
	 * - `traverseAllChildren(this.props.leftPanelChildren, ...)`
	 *
	 * The `traverseContext` is an optional argument that is passed through the
	 * entire traversal. It can be used to store accumulations or anything else that
	 * the callback might find relevant.
	 *
	 * @param {?*} children Children tree object.
	 * @param {!function} callback To invoke upon traversing each child.
	 * @param {?*} traverseContext Context for traversal.
	 * @return {!number} The number of children in this subtree.
	 */
	function traverseAllChildren(children, callback, traverseContext) {
	  if (children == null) {
	    return 0;
	  }

	  return traverseAllChildrenImpl(children, '', callback, traverseContext);
	}

	module.exports = traverseAllChildren;

/***/ }),
/* 20 */
/***/ (function(module, exports) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 * 
	 */

	'use strict';

	/* global Symbol */

	var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
	var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.

	/**
	 * Returns the iterator method function contained on the iterable object.
	 *
	 * Be sure to invoke the function with the iterable as context:
	 *
	 *     var iteratorFn = getIteratorFn(myIterable);
	 *     if (iteratorFn) {
	 *       var iterator = iteratorFn.call(myIterable);
	 *       ...
	 *     }
	 *
	 * @param {?object} maybeIterable
	 * @return {?function}
	 */
	function getIteratorFn(maybeIterable) {
	  var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
	  if (typeof iteratorFn === 'function') {
	    return iteratorFn;
	  }
	}

	module.exports = getIteratorFn;

/***/ }),
/* 21 */
/***/ (function(module, exports) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 * 
	 */

	'use strict';

	/**
	 * Escape and wrap key so it is safe to use as a reactid
	 *
	 * @param {string} key to be escaped.
	 * @return {string} the escaped key.
	 */

	function escape(key) {
	  var escapeRegex = /[=:]/g;
	  var escaperLookup = {
	    '=': '=0',
	    ':': '=2'
	  };
	  var escapedString = ('' + key).replace(escapeRegex, function (match) {
	    return escaperLookup[match];
	  });

	  return '$' + escapedString;
	}

	/**
	 * Unescape and unwrap key for human-readable display
	 *
	 * @param {string} key to unescape.
	 * @return {string} the unescaped key.
	 */
	function unescape(key) {
	  var unescapeRegex = /(=0|=2)/g;
	  var unescaperLookup = {
	    '=0': '=',
	    '=2': ':'
	  };
	  var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1);

	  return ('' + keySubstring).replace(unescapeRegex, function (match) {
	    return unescaperLookup[match];
	  });
	}

	var KeyEscapeUtils = {
	  escape: escape,
	  unescape: unescape
	};

	module.exports = KeyEscapeUtils;

/***/ }),
/* 22 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var ReactElement = __webpack_require__(16);

	/**
	 * Create a factory that creates HTML tag elements.
	 *
	 * @private
	 */
	var createDOMFactory = ReactElement.createFactory;
	if (false) {
	  var ReactElementValidator = require('./ReactElementValidator');
	  createDOMFactory = ReactElementValidator.createFactory;
	}

	/**
	 * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.
	 *
	 * @public
	 */
	var ReactDOMFactories = {
	  a: createDOMFactory('a'),
	  abbr: createDOMFactory('abbr'),
	  address: createDOMFactory('address'),
	  area: createDOMFactory('area'),
	  article: createDOMFactory('article'),
	  aside: createDOMFactory('aside'),
	  audio: createDOMFactory('audio'),
	  b: createDOMFactory('b'),
	  base: createDOMFactory('base'),
	  bdi: createDOMFactory('bdi'),
	  bdo: createDOMFactory('bdo'),
	  big: createDOMFactory('big'),
	  blockquote: createDOMFactory('blockquote'),
	  body: createDOMFactory('body'),
	  br: createDOMFactory('br'),
	  button: createDOMFactory('button'),
	  canvas: createDOMFactory('canvas'),
	  caption: createDOMFactory('caption'),
	  cite: createDOMFactory('cite'),
	  code: createDOMFactory('code'),
	  col: createDOMFactory('col'),
	  colgroup: createDOMFactory('colgroup'),
	  data: createDOMFactory('data'),
	  datalist: createDOMFactory('datalist'),
	  dd: createDOMFactory('dd'),
	  del: createDOMFactory('del'),
	  details: createDOMFactory('details'),
	  dfn: createDOMFactory('dfn'),
	  dialog: createDOMFactory('dialog'),
	  div: createDOMFactory('div'),
	  dl: createDOMFactory('dl'),
	  dt: createDOMFactory('dt'),
	  em: createDOMFactory('em'),
	  embed: createDOMFactory('embed'),
	  fieldset: createDOMFactory('fieldset'),
	  figcaption: createDOMFactory('figcaption'),
	  figure: createDOMFactory('figure'),
	  footer: createDOMFactory('footer'),
	  form: createDOMFactory('form'),
	  h1: createDOMFactory('h1'),
	  h2: createDOMFactory('h2'),
	  h3: createDOMFactory('h3'),
	  h4: createDOMFactory('h4'),
	  h5: createDOMFactory('h5'),
	  h6: createDOMFactory('h6'),
	  head: createDOMFactory('head'),
	  header: createDOMFactory('header'),
	  hgroup: createDOMFactory('hgroup'),
	  hr: createDOMFactory('hr'),
	  html: createDOMFactory('html'),
	  i: createDOMFactory('i'),
	  iframe: createDOMFactory('iframe'),
	  img: createDOMFactory('img'),
	  input: createDOMFactory('input'),
	  ins: createDOMFactory('ins'),
	  kbd: createDOMFactory('kbd'),
	  keygen: createDOMFactory('keygen'),
	  label: createDOMFactory('label'),
	  legend: createDOMFactory('legend'),
	  li: createDOMFactory('li'),
	  link: createDOMFactory('link'),
	  main: createDOMFactory('main'),
	  map: createDOMFactory('map'),
	  mark: createDOMFactory('mark'),
	  menu: createDOMFactory('menu'),
	  menuitem: createDOMFactory('menuitem'),
	  meta: createDOMFactory('meta'),
	  meter: createDOMFactory('meter'),
	  nav: createDOMFactory('nav'),
	  noscript: createDOMFactory('noscript'),
	  object: createDOMFactory('object'),
	  ol: createDOMFactory('ol'),
	  optgroup: createDOMFactory('optgroup'),
	  option: createDOMFactory('option'),
	  output: createDOMFactory('output'),
	  p: createDOMFactory('p'),
	  param: createDOMFactory('param'),
	  picture: createDOMFactory('picture'),
	  pre: createDOMFactory('pre'),
	  progress: createDOMFactory('progress'),
	  q: createDOMFactory('q'),
	  rp: createDOMFactory('rp'),
	  rt: createDOMFactory('rt'),
	  ruby: createDOMFactory('ruby'),
	  s: createDOMFactory('s'),
	  samp: createDOMFactory('samp'),
	  script: createDOMFactory('script'),
	  section: createDOMFactory('section'),
	  select: createDOMFactory('select'),
	  small: createDOMFactory('small'),
	  source: createDOMFactory('source'),
	  span: createDOMFactory('span'),
	  strong: createDOMFactory('strong'),
	  style: createDOMFactory('style'),
	  sub: createDOMFactory('sub'),
	  summary: createDOMFactory('summary'),
	  sup: createDOMFactory('sup'),
	  table: createDOMFactory('table'),
	  tbody: createDOMFactory('tbody'),
	  td: createDOMFactory('td'),
	  textarea: createDOMFactory('textarea'),
	  tfoot: createDOMFactory('tfoot'),
	  th: createDOMFactory('th'),
	  thead: createDOMFactory('thead'),
	  time: createDOMFactory('time'),
	  title: createDOMFactory('title'),
	  tr: createDOMFactory('tr'),
	  track: createDOMFactory('track'),
	  u: createDOMFactory('u'),
	  ul: createDOMFactory('ul'),
	  'var': createDOMFactory('var'),
	  video: createDOMFactory('video'),
	  wbr: createDOMFactory('wbr'),

	  // SVG
	  circle: createDOMFactory('circle'),
	  clipPath: createDOMFactory('clipPath'),
	  defs: createDOMFactory('defs'),
	  ellipse: createDOMFactory('ellipse'),
	  g: createDOMFactory('g'),
	  image: createDOMFactory('image'),
	  line: createDOMFactory('line'),
	  linearGradient: createDOMFactory('linearGradient'),
	  mask: createDOMFactory('mask'),
	  path: createDOMFactory('path'),
	  pattern: createDOMFactory('pattern'),
	  polygon: createDOMFactory('polygon'),
	  polyline: createDOMFactory('polyline'),
	  radialGradient: createDOMFactory('radialGradient'),
	  rect: createDOMFactory('rect'),
	  stop: createDOMFactory('stop'),
	  svg: createDOMFactory('svg'),
	  text: createDOMFactory('text'),
	  tspan: createDOMFactory('tspan')
	};

	module.exports = ReactDOMFactories;

/***/ }),
/* 23 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _require = __webpack_require__(16),
	    isValidElement = _require.isValidElement;

	var factory = __webpack_require__(24);

	module.exports = factory(isValidElement);

/***/ }),
/* 24 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 */

	'use strict';

	// React 15.5 references this module, and assumes PropTypes are still callable in production.
	// Therefore we re-export development-only version with all the PropTypes checks here.
	// However if one is migrating to the `prop-types` npm library, they will go through the
	// `index.js` entry point, and it will branch depending on the environment.
	var factory = __webpack_require__(25);
	module.exports = function(isValidElement) {
	  // It is still allowed in 15.5.
	  var throwOnDirectAccess = false;
	  return factory(isValidElement, throwOnDirectAccess);
	};


/***/ }),
/* 25 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 */

	'use strict';

	var emptyFunction = __webpack_require__(9);
	var invariant = __webpack_require__(12);
	var warning = __webpack_require__(8);

	var ReactPropTypesSecret = __webpack_require__(26);
	var checkPropTypes = __webpack_require__(27);

	module.exports = function(isValidElement, throwOnDirectAccess) {
	  /* global Symbol */
	  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
	  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.

	  /**
	   * Returns the iterator method function contained on the iterable object.
	   *
	   * Be sure to invoke the function with the iterable as context:
	   *
	   *     var iteratorFn = getIteratorFn(myIterable);
	   *     if (iteratorFn) {
	   *       var iterator = iteratorFn.call(myIterable);
	   *       ...
	   *     }
	   *
	   * @param {?object} maybeIterable
	   * @return {?function}
	   */
	  function getIteratorFn(maybeIterable) {
	    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
	    if (typeof iteratorFn === 'function') {
	      return iteratorFn;
	    }
	  }

	  /**
	   * Collection of methods that allow declaration and validation of props that are
	   * supplied to React components. Example usage:
	   *
	   *   var Props = require('ReactPropTypes');
	   *   var MyArticle = React.createClass({
	   *     propTypes: {
	   *       // An optional string prop named "description".
	   *       description: Props.string,
	   *
	   *       // A required enum prop named "category".
	   *       category: Props.oneOf(['News','Photos']).isRequired,
	   *
	   *       // A prop named "dialog" that requires an instance of Dialog.
	   *       dialog: Props.instanceOf(Dialog).isRequired
	   *     },
	   *     render: function() { ... }
	   *   });
	   *
	   * A more formal specification of how these methods are used:
	   *
	   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
	   *   decl := ReactPropTypes.{type}(.isRequired)?
	   *
	   * Each and every declaration produces a function with the same signature. This
	   * allows the creation of custom validation functions. For example:
	   *
	   *  var MyLink = React.createClass({
	   *    propTypes: {
	   *      // An optional string or URI prop named "href".
	   *      href: function(props, propName, componentName) {
	   *        var propValue = props[propName];
	   *        if (propValue != null && typeof propValue !== 'string' &&
	   *            !(propValue instanceof URI)) {
	   *          return new Error(
	   *            'Expected a string or an URI for ' + propName + ' in ' +
	   *            componentName
	   *          );
	   *        }
	   *      }
	   *    },
	   *    render: function() {...}
	   *  });
	   *
	   * @internal
	   */

	  var ANONYMOUS = '<<anonymous>>';

	  // Important!
	  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
	  var ReactPropTypes = {
	    array: createPrimitiveTypeChecker('array'),
	    bool: createPrimitiveTypeChecker('boolean'),
	    func: createPrimitiveTypeChecker('function'),
	    number: createPrimitiveTypeChecker('number'),
	    object: createPrimitiveTypeChecker('object'),
	    string: createPrimitiveTypeChecker('string'),
	    symbol: createPrimitiveTypeChecker('symbol'),

	    any: createAnyTypeChecker(),
	    arrayOf: createArrayOfTypeChecker,
	    element: createElementTypeChecker(),
	    instanceOf: createInstanceTypeChecker,
	    node: createNodeChecker(),
	    objectOf: createObjectOfTypeChecker,
	    oneOf: createEnumTypeChecker,
	    oneOfType: createUnionTypeChecker,
	    shape: createShapeTypeChecker
	  };

	  /**
	   * inlined Object.is polyfill to avoid requiring consumers ship their own
	   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
	   */
	  /*eslint-disable no-self-compare*/
	  function is(x, y) {
	    // SameValue algorithm
	    if (x === y) {
	      // Steps 1-5, 7-10
	      // Steps 6.b-6.e: +0 != -0
	      return x !== 0 || 1 / x === 1 / y;
	    } else {
	      // Step 6.a: NaN == NaN
	      return x !== x && y !== y;
	    }
	  }
	  /*eslint-enable no-self-compare*/

	  /**
	   * We use an Error-like object for backward compatibility as people may call
	   * PropTypes directly and inspect their output. However, we don't use real
	   * Errors anymore. We don't inspect their stack anyway, and creating them
	   * is prohibitively expensive if they are created too often, such as what
	   * happens in oneOfType() for any type before the one that matched.
	   */
	  function PropTypeError(message) {
	    this.message = message;
	    this.stack = '';
	  }
	  // Make `instanceof Error` still work for returned errors.
	  PropTypeError.prototype = Error.prototype;

	  function createChainableTypeChecker(validate) {
	    if (false) {
	      var manualPropTypeCallCache = {};
	      var manualPropTypeWarningCount = 0;
	    }
	    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
	      componentName = componentName || ANONYMOUS;
	      propFullName = propFullName || propName;

	      if (secret !== ReactPropTypesSecret) {
	        if (throwOnDirectAccess) {
	          // New behavior only for users of `prop-types` package
	          invariant(
	            false,
	            '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'
	          );
	        } else if (false) {
	          // Old behavior for people using React.PropTypes
	          var cacheKey = componentName + ':' + propName;
	          if (
	            !manualPropTypeCallCache[cacheKey] &&
	            // Avoid spamming the console because they are often not actionable except for lib authors
	            manualPropTypeWarningCount < 3
	          ) {
	            warning(
	              false,
	              'You are manually calling a React.PropTypes validation ' +
	              'function for the `%s` prop on `%s`. This is deprecated ' +
	              'and will throw in the standalone `prop-types` package. ' +
	              'You may be seeing this warning due to a third-party PropTypes ' +
	              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',
	              propFullName,
	              componentName
	            );
	            manualPropTypeCallCache[cacheKey] = true;
	            manualPropTypeWarningCount++;
	          }
	        }
	      }
	      if (props[propName] == null) {
	        if (isRequired) {
	          if (props[propName] === null) {
	            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
	          }
	          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
	        }
	        return null;
	      } else {
	        return validate(props, propName, componentName, location, propFullName);
	      }
	    }

	    var chainedCheckType = checkType.bind(null, false);
	    chainedCheckType.isRequired = checkType.bind(null, true);

	    return chainedCheckType;
	  }

	  function createPrimitiveTypeChecker(expectedType) {
	    function validate(props, propName, componentName, location, propFullName, secret) {
	      var propValue = props[propName];
	      var propType = getPropType(propValue);
	      if (propType !== expectedType) {
	        // `propValue` being instance of, say, date/regexp, pass the 'object'
	        // check, but we can offer a more precise error message here rather than
	        // 'of type `object`'.
	        var preciseType = getPreciseType(propValue);

	        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
	      }
	      return null;
	    }
	    return createChainableTypeChecker(validate);
	  }

	  function createAnyTypeChecker() {
	    return createChainableTypeChecker(emptyFunction.thatReturnsNull);
	  }

	  function createArrayOfTypeChecker(typeChecker) {
	    function validate(props, propName, componentName, location, propFullName) {
	      if (typeof typeChecker !== 'function') {
	        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
	      }
	      var propValue = props[propName];
	      if (!Array.isArray(propValue)) {
	        var propType = getPropType(propValue);
	        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
	      }
	      for (var i = 0; i < propValue.length; i++) {
	        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
	        if (error instanceof Error) {
	          return error;
	        }
	      }
	      return null;
	    }
	    return createChainableTypeChecker(validate);
	  }

	  function createElementTypeChecker() {
	    function validate(props, propName, componentName, location, propFullName) {
	      var propValue = props[propName];
	      if (!isValidElement(propValue)) {
	        var propType = getPropType(propValue);
	        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
	      }
	      return null;
	    }
	    return createChainableTypeChecker(validate);
	  }

	  function createInstanceTypeChecker(expectedClass) {
	    function validate(props, propName, componentName, location, propFullName) {
	      if (!(props[propName] instanceof expectedClass)) {
	        var expectedClassName = expectedClass.name || ANONYMOUS;
	        var actualClassName = getClassName(props[propName]);
	        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
	      }
	      return null;
	    }
	    return createChainableTypeChecker(validate);
	  }

	  function createEnumTypeChecker(expectedValues) {
	    if (!Array.isArray(expectedValues)) {
	       false ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;
	      return emptyFunction.thatReturnsNull;
	    }

	    function validate(props, propName, componentName, location, propFullName) {
	      var propValue = props[propName];
	      for (var i = 0; i < expectedValues.length; i++) {
	        if (is(propValue, expectedValues[i])) {
	          return null;
	        }
	      }

	      var valuesString = JSON.stringify(expectedValues);
	      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
	    }
	    return createChainableTypeChecker(validate);
	  }

	  function createObjectOfTypeChecker(typeChecker) {
	    function validate(props, propName, componentName, location, propFullName) {
	      if (typeof typeChecker !== 'function') {
	        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
	      }
	      var propValue = props[propName];
	      var propType = getPropType(propValue);
	      if (propType !== 'object') {
	        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
	      }
	      for (var key in propValue) {
	        if (propValue.hasOwnProperty(key)) {
	          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
	          if (error instanceof Error) {
	            return error;
	          }
	        }
	      }
	      return null;
	    }
	    return createChainableTypeChecker(validate);
	  }

	  function createUnionTypeChecker(arrayOfTypeCheckers) {
	    if (!Array.isArray(arrayOfTypeCheckers)) {
	       false ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
	      return emptyFunction.thatReturnsNull;
	    }

	    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
	      var checker = arrayOfTypeCheckers[i];
	      if (typeof checker !== 'function') {
	        warning(
	          false,
	          'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' +
	          'received %s at index %s.',
	          getPostfixForTypeWarning(checker),
	          i
	        );
	        return emptyFunction.thatReturnsNull;
	      }
	    }

	    function validate(props, propName, componentName, location, propFullName) {
	      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
	        var checker = arrayOfTypeCheckers[i];
	        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
	          return null;
	        }
	      }

	      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
	    }
	    return createChainableTypeChecker(validate);
	  }

	  function createNodeChecker() {
	    function validate(props, propName, componentName, location, propFullName) {
	      if (!isNode(props[propName])) {
	        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
	      }
	      return null;
	    }
	    return createChainableTypeChecker(validate);
	  }

	  function createShapeTypeChecker(shapeTypes) {
	    function validate(props, propName, componentName, location, propFullName) {
	      var propValue = props[propName];
	      var propType = getPropType(propValue);
	      if (propType !== 'object') {
	        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
	      }
	      for (var key in shapeTypes) {
	        var checker = shapeTypes[key];
	        if (!checker) {
	          continue;
	        }
	        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
	        if (error) {
	          return error;
	        }
	      }
	      return null;
	    }
	    return createChainableTypeChecker(validate);
	  }

	  function isNode(propValue) {
	    switch (typeof propValue) {
	      case 'number':
	      case 'string':
	      case 'undefined':
	        return true;
	      case 'boolean':
	        return !propValue;
	      case 'object':
	        if (Array.isArray(propValue)) {
	          return propValue.every(isNode);
	        }
	        if (propValue === null || isValidElement(propValue)) {
	          return true;
	        }

	        var iteratorFn = getIteratorFn(propValue);
	        if (iteratorFn) {
	          var iterator = iteratorFn.call(propValue);
	          var step;
	          if (iteratorFn !== propValue.entries) {
	            while (!(step = iterator.next()).done) {
	              if (!isNode(step.value)) {
	                return false;
	              }
	            }
	          } else {
	            // Iterator will provide entry [k,v] tuples rather than values.
	            while (!(step = iterator.next()).done) {
	              var entry = step.value;
	              if (entry) {
	                if (!isNode(entry[1])) {
	                  return false;
	                }
	              }
	            }
	          }
	        } else {
	          return false;
	        }

	        return true;
	      default:
	        return false;
	    }
	  }

	  function isSymbol(propType, propValue) {
	    // Native Symbol.
	    if (propType === 'symbol') {
	      return true;
	    }

	    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
	    if (propValue['@@toStringTag'] === 'Symbol') {
	      return true;
	    }

	    // Fallback for non-spec compliant Symbols which are polyfilled.
	    if (typeof Symbol === 'function' && propValue instanceof Symbol) {
	      return true;
	    }

	    return false;
	  }

	  // Equivalent of `typeof` but with special handling for array and regexp.
	  function getPropType(propValue) {
	    var propType = typeof propValue;
	    if (Array.isArray(propValue)) {
	      return 'array';
	    }
	    if (propValue instanceof RegExp) {
	      // Old webkits (at least until Android 4.0) return 'function' rather than
	      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
	      // passes PropTypes.object.
	      return 'object';
	    }
	    if (isSymbol(propType, propValue)) {
	      return 'symbol';
	    }
	    return propType;
	  }

	  // This handles more types than `getPropType`. Only used for error messages.
	  // See `createPrimitiveTypeChecker`.
	  function getPreciseType(propValue) {
	    if (typeof propValue === 'undefined' || propValue === null) {
	      return '' + propValue;
	    }
	    var propType = getPropType(propValue);
	    if (propType === 'object') {
	      if (propValue instanceof Date) {
	        return 'date';
	      } else if (propValue instanceof RegExp) {
	        return 'regexp';
	      }
	    }
	    return propType;
	  }

	  // Returns a string that is postfixed to a warning about an invalid type.
	  // For example, "undefined" or "of type array"
	  function getPostfixForTypeWarning(value) {
	    var type = getPreciseType(value);
	    switch (type) {
	      case 'array':
	      case 'object':
	        return 'an ' + type;
	      case 'boolean':
	      case 'date':
	      case 'regexp':
	        return 'a ' + type;
	      default:
	        return type;
	    }
	  }

	  // Returns class name of the object, if any.
	  function getClassName(propValue) {
	    if (!propValue.constructor || !propValue.constructor.name) {
	      return ANONYMOUS;
	    }
	    return propValue.constructor.name;
	  }

	  ReactPropTypes.checkPropTypes = checkPropTypes;
	  ReactPropTypes.PropTypes = ReactPropTypes;

	  return ReactPropTypes;
	};


/***/ }),
/* 26 */
/***/ (function(module, exports) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 */

	'use strict';

	var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';

	module.exports = ReactPropTypesSecret;


/***/ }),
/* 27 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 */

	'use strict';

	if (false) {
	  var invariant = require('fbjs/lib/invariant');
	  var warning = require('fbjs/lib/warning');
	  var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');
	  var loggedTypeFailures = {};
	}

	/**
	 * Assert that the values match with the type specs.
	 * Error messages are memorized and will only be shown once.
	 *
	 * @param {object} typeSpecs Map of name to a ReactPropType
	 * @param {object} values Runtime values that need to be type-checked
	 * @param {string} location e.g. "prop", "context", "child context"
	 * @param {string} componentName Name of the component for error messages.
	 * @param {?Function} getStack Returns the component stack.
	 * @private
	 */
	function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
	  if (false) {
	    for (var typeSpecName in typeSpecs) {
	      if (typeSpecs.hasOwnProperty(typeSpecName)) {
	        var error;
	        // Prop type validation may throw. In case they do, we don't want to
	        // fail the render phase where it didn't fail before. So we log it.
	        // After these have been cleaned up, we'll let them throw.
	        try {
	          // This is intentionally an invariant that gets caught. It's the same
	          // behavior as without this statement except with a better message.
	          invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName);
	          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
	        } catch (ex) {
	          error = ex;
	        }
	        warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);
	        if (error instanceof Error && !(error.message in loggedTypeFailures)) {
	          // Only monitor this failure once because there tends to be a lot of the
	          // same error.
	          loggedTypeFailures[error.message] = true;

	          var stack = getStack ? getStack() : '';

	          warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');
	        }
	      }
	    }
	  }
	}

	module.exports = checkPropTypes;


/***/ }),
/* 28 */
/***/ (function(module, exports) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	module.exports = '15.6.1';

/***/ }),
/* 29 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _require = __webpack_require__(5),
	    Component = _require.Component;

	var _require2 = __webpack_require__(16),
	    isValidElement = _require2.isValidElement;

	var ReactNoopUpdateQueue = __webpack_require__(7);
	var factory = __webpack_require__(30);

	module.exports = factory(Component, isValidElement, ReactNoopUpdateQueue);

/***/ }),
/* 30 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _assign = __webpack_require__(4);

	var emptyObject = __webpack_require__(11);
	var _invariant = __webpack_require__(12);

	if (false) {
	  var warning = require('fbjs/lib/warning');
	}

	var MIXINS_KEY = 'mixins';

	// Helper function to allow the creation of anonymous functions which do not
	// have .name set to the name of the variable being assigned to.
	function identity(fn) {
	  return fn;
	}

	var ReactPropTypeLocationNames;
	if (false) {
	  ReactPropTypeLocationNames = {
	    prop: 'prop',
	    context: 'context',
	    childContext: 'child context'
	  };
	} else {
	  ReactPropTypeLocationNames = {};
	}

	function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {
	  /**
	   * Policies that describe methods in `ReactClassInterface`.
	   */

	  var injectedMixins = [];

	  /**
	   * Composite components are higher-level components that compose other composite
	   * or host components.
	   *
	   * To create a new type of `ReactClass`, pass a specification of
	   * your new class to `React.createClass`. The only requirement of your class
	   * specification is that you implement a `render` method.
	   *
	   *   var MyComponent = React.createClass({
	   *     render: function() {
	   *       return <div>Hello World</div>;
	   *     }
	   *   });
	   *
	   * The class specification supports a specific protocol of methods that have
	   * special meaning (e.g. `render`). See `ReactClassInterface` for
	   * more the comprehensive protocol. Any other properties and methods in the
	   * class specification will be available on the prototype.
	   *
	   * @interface ReactClassInterface
	   * @internal
	   */
	  var ReactClassInterface = {
	    /**
	     * An array of Mixin objects to include when defining your component.
	     *
	     * @type {array}
	     * @optional
	     */
	    mixins: 'DEFINE_MANY',

	    /**
	     * An object containing properties and methods that should be defined on
	     * the component's constructor instead of its prototype (static methods).
	     *
	     * @type {object}
	     * @optional
	     */
	    statics: 'DEFINE_MANY',

	    /**
	     * Definition of prop types for this component.
	     *
	     * @type {object}
	     * @optional
	     */
	    propTypes: 'DEFINE_MANY',

	    /**
	     * Definition of context types for this component.
	     *
	     * @type {object}
	     * @optional
	     */
	    contextTypes: 'DEFINE_MANY',

	    /**
	     * Definition of context types this component sets for its children.
	     *
	     * @type {object}
	     * @optional
	     */
	    childContextTypes: 'DEFINE_MANY',

	    // ==== Definition methods ====

	    /**
	     * Invoked when the component is mounted. Values in the mapping will be set on
	     * `this.props` if that prop is not specified (i.e. using an `in` check).
	     *
	     * This method is invoked before `getInitialState` and therefore cannot rely
	     * on `this.state` or use `this.setState`.
	     *
	     * @return {object}
	     * @optional
	     */
	    getDefaultProps: 'DEFINE_MANY_MERGED',

	    /**
	     * Invoked once before the component is mounted. The return value will be used
	     * as the initial value of `this.state`.
	     *
	     *   getInitialState: function() {
	     *     return {
	     *       isOn: false,
	     *       fooBaz: new BazFoo()
	     *     }
	     *   }
	     *
	     * @return {object}
	     * @optional
	     */
	    getInitialState: 'DEFINE_MANY_MERGED',

	    /**
	     * @return {object}
	     * @optional
	     */
	    getChildContext: 'DEFINE_MANY_MERGED',

	    /**
	     * Uses props from `this.props` and state from `this.state` to render the
	     * structure of the component.
	     *
	     * No guarantees are made about when or how often this method is invoked, so
	     * it must not have side effects.
	     *
	     *   render: function() {
	     *     var name = this.props.name;
	     *     return <div>Hello, {name}!</div>;
	     *   }
	     *
	     * @return {ReactComponent}
	     * @required
	     */
	    render: 'DEFINE_ONCE',

	    // ==== Delegate methods ====

	    /**
	     * Invoked when the component is initially created and about to be mounted.
	     * This may have side effects, but any external subscriptions or data created
	     * by this method must be cleaned up in `componentWillUnmount`.
	     *
	     * @optional
	     */
	    componentWillMount: 'DEFINE_MANY',

	    /**
	     * Invoked when the component has been mounted and has a DOM representation.
	     * However, there is no guarantee that the DOM node is in the document.
	     *
	     * Use this as an opportunity to operate on the DOM when the component has
	     * been mounted (initialized and rendered) for the first time.
	     *
	     * @param {DOMElement} rootNode DOM element representing the component.
	     * @optional
	     */
	    componentDidMount: 'DEFINE_MANY',

	    /**
	     * Invoked before the component receives new props.
	     *
	     * Use this as an opportunity to react to a prop transition by updating the
	     * state using `this.setState`. Current props are accessed via `this.props`.
	     *
	     *   componentWillReceiveProps: function(nextProps, nextContext) {
	     *     this.setState({
	     *       likesIncreasing: nextProps.likeCount > this.props.likeCount
	     *     });
	     *   }
	     *
	     * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop
	     * transition may cause a state change, but the opposite is not true. If you
	     * need it, you are probably looking for `componentWillUpdate`.
	     *
	     * @param {object} nextProps
	     * @optional
	     */
	    componentWillReceiveProps: 'DEFINE_MANY',

	    /**
	     * Invoked while deciding if the component should be updated as a result of
	     * receiving new props, state and/or context.
	     *
	     * Use this as an opportunity to `return false` when you're certain that the
	     * transition to the new props/state/context will not require a component
	     * update.
	     *
	     *   shouldComponentUpdate: function(nextProps, nextState, nextContext) {
	     *     return !equal(nextProps, this.props) ||
	     *       !equal(nextState, this.state) ||
	     *       !equal(nextContext, this.context);
	     *   }
	     *
	     * @param {object} nextProps
	     * @param {?object} nextState
	     * @param {?object} nextContext
	     * @return {boolean} True if the component should update.
	     * @optional
	     */
	    shouldComponentUpdate: 'DEFINE_ONCE',

	    /**
	     * Invoked when the component is about to update due to a transition from
	     * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`
	     * and `nextContext`.
	     *
	     * Use this as an opportunity to perform preparation before an update occurs.
	     *
	     * NOTE: You **cannot** use `this.setState()` in this method.
	     *
	     * @param {object} nextProps
	     * @param {?object} nextState
	     * @param {?object} nextContext
	     * @param {ReactReconcileTransaction} transaction
	     * @optional
	     */
	    componentWillUpdate: 'DEFINE_MANY',

	    /**
	     * Invoked when the component's DOM representation has been updated.
	     *
	     * Use this as an opportunity to operate on the DOM when the component has
	     * been updated.
	     *
	     * @param {object} prevProps
	     * @param {?object} prevState
	     * @param {?object} prevContext
	     * @param {DOMElement} rootNode DOM element representing the component.
	     * @optional
	     */
	    componentDidUpdate: 'DEFINE_MANY',

	    /**
	     * Invoked when the component is about to be removed from its parent and have
	     * its DOM representation destroyed.
	     *
	     * Use this as an opportunity to deallocate any external resources.
	     *
	     * NOTE: There is no `componentDidUnmount` since your component will have been
	     * destroyed by that point.
	     *
	     * @optional
	     */
	    componentWillUnmount: 'DEFINE_MANY',

	    // ==== Advanced methods ====

	    /**
	     * Updates the component's currently mounted DOM representation.
	     *
	     * By default, this implements React's rendering and reconciliation algorithm.
	     * Sophisticated clients may wish to override this.
	     *
	     * @param {ReactReconcileTransaction} transaction
	     * @internal
	     * @overridable
	     */
	    updateComponent: 'OVERRIDE_BASE'
	  };

	  /**
	   * Mapping from class specification keys to special processing functions.
	   *
	   * Although these are declared like instance properties in the specification
	   * when defining classes using `React.createClass`, they are actually static
	   * and are accessible on the constructor instead of the prototype. Despite
	   * being static, they must be defined outside of the "statics" key under
	   * which all other static methods are defined.
	   */
	  var RESERVED_SPEC_KEYS = {
	    displayName: function(Constructor, displayName) {
	      Constructor.displayName = displayName;
	    },
	    mixins: function(Constructor, mixins) {
	      if (mixins) {
	        for (var i = 0; i < mixins.length; i++) {
	          mixSpecIntoComponent(Constructor, mixins[i]);
	        }
	      }
	    },
	    childContextTypes: function(Constructor, childContextTypes) {
	      if (false) {
	        validateTypeDef(Constructor, childContextTypes, 'childContext');
	      }
	      Constructor.childContextTypes = _assign(
	        {},
	        Constructor.childContextTypes,
	        childContextTypes
	      );
	    },
	    contextTypes: function(Constructor, contextTypes) {
	      if (false) {
	        validateTypeDef(Constructor, contextTypes, 'context');
	      }
	      Constructor.contextTypes = _assign(
	        {},
	        Constructor.contextTypes,
	        contextTypes
	      );
	    },
	    /**
	     * Special case getDefaultProps which should move into statics but requires
	     * automatic merging.
	     */
	    getDefaultProps: function(Constructor, getDefaultProps) {
	      if (Constructor.getDefaultProps) {
	        Constructor.getDefaultProps = createMergedResultFunction(
	          Constructor.getDefaultProps,
	          getDefaultProps
	        );
	      } else {
	        Constructor.getDefaultProps = getDefaultProps;
	      }
	    },
	    propTypes: function(Constructor, propTypes) {
	      if (false) {
	        validateTypeDef(Constructor, propTypes, 'prop');
	      }
	      Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);
	    },
	    statics: function(Constructor, statics) {
	      mixStaticSpecIntoComponent(Constructor, statics);
	    },
	    autobind: function() {}
	  };

	  function validateTypeDef(Constructor, typeDef, location) {
	    for (var propName in typeDef) {
	      if (typeDef.hasOwnProperty(propName)) {
	        // use a warning instead of an _invariant so components
	        // don't show up in prod but only in __DEV__
	        if (false) {
	          warning(
	            typeof typeDef[propName] === 'function',
	            '%s: %s type `%s` is invalid; it must be a function, usually from ' +
	              'React.PropTypes.',
	            Constructor.displayName || 'ReactClass',
	            ReactPropTypeLocationNames[location],
	            propName
	          );
	        }
	      }
	    }
	  }

	  function validateMethodOverride(isAlreadyDefined, name) {
	    var specPolicy = ReactClassInterface.hasOwnProperty(name)
	      ? ReactClassInterface[name]
	      : null;

	    // Disallow overriding of base class methods unless explicitly allowed.
	    if (ReactClassMixin.hasOwnProperty(name)) {
	      _invariant(
	        specPolicy === 'OVERRIDE_BASE',
	        'ReactClassInterface: You are attempting to override ' +
	          '`%s` from your class specification. Ensure that your method names ' +
	          'do not overlap with React methods.',
	        name
	      );
	    }

	    // Disallow defining methods more than once unless explicitly allowed.
	    if (isAlreadyDefined) {
	      _invariant(
	        specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',
	        'ReactClassInterface: You are attempting to define ' +
	          '`%s` on your component more than once. This conflict may be due ' +
	          'to a mixin.',
	        name
	      );
	    }
	  }

	  /**
	   * Mixin helper which handles policy validation and reserved
	   * specification keys when building React classes.
	   */
	  function mixSpecIntoComponent(Constructor, spec) {
	    if (!spec) {
	      if (false) {
	        var typeofSpec = typeof spec;
	        var isMixinValid = typeofSpec === 'object' && spec !== null;

	        if (process.env.NODE_ENV !== 'production') {
	          warning(
	            isMixinValid,
	            "%s: You're attempting to include a mixin that is either null " +
	              'or not an object. Check the mixins included by the component, ' +
	              'as well as any mixins they include themselves. ' +
	              'Expected object but got %s.',
	            Constructor.displayName || 'ReactClass',
	            spec === null ? null : typeofSpec
	          );
	        }
	      }

	      return;
	    }

	    _invariant(
	      typeof spec !== 'function',
	      "ReactClass: You're attempting to " +
	        'use a component class or function as a mixin. Instead, just use a ' +
	        'regular object.'
	    );
	    _invariant(
	      !isValidElement(spec),
	      "ReactClass: You're attempting to " +
	        'use a component as a mixin. Instead, just use a regular object.'
	    );

	    var proto = Constructor.prototype;
	    var autoBindPairs = proto.__reactAutoBindPairs;

	    // By handling mixins before any other properties, we ensure the same
	    // chaining order is applied to methods with DEFINE_MANY policy, whether
	    // mixins are listed before or after these methods in the spec.
	    if (spec.hasOwnProperty(MIXINS_KEY)) {
	      RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);
	    }

	    for (var name in spec) {
	      if (!spec.hasOwnProperty(name)) {
	        continue;
	      }

	      if (name === MIXINS_KEY) {
	        // We have already handled mixins in a special case above.
	        continue;
	      }

	      var property = spec[name];
	      var isAlreadyDefined = proto.hasOwnProperty(name);
	      validateMethodOverride(isAlreadyDefined, name);

	      if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {
	        RESERVED_SPEC_KEYS[name](Constructor, property);
	      } else {
	        // Setup methods on prototype:
	        // The following member methods should not be automatically bound:
	        // 1. Expected ReactClass methods (in the "interface").
	        // 2. Overridden methods (that were mixed in).
	        var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);
	        var isFunction = typeof property === 'function';
	        var shouldAutoBind =
	          isFunction &&
	          !isReactClassMethod &&
	          !isAlreadyDefined &&
	          spec.autobind !== false;

	        if (shouldAutoBind) {
	          autoBindPairs.push(name, property);
	          proto[name] = property;
	        } else {
	          if (isAlreadyDefined) {
	            var specPolicy = ReactClassInterface[name];

	            // These cases should already be caught by validateMethodOverride.
	            _invariant(
	              isReactClassMethod &&
	                (specPolicy === 'DEFINE_MANY_MERGED' ||
	                  specPolicy === 'DEFINE_MANY'),
	              'ReactClass: Unexpected spec policy %s for key %s ' +
	                'when mixing in component specs.',
	              specPolicy,
	              name
	            );

	            // For methods which are defined more than once, call the existing
	            // methods before calling the new property, merging if appropriate.
	            if (specPolicy === 'DEFINE_MANY_MERGED') {
	              proto[name] = createMergedResultFunction(proto[name], property);
	            } else if (specPolicy === 'DEFINE_MANY') {
	              proto[name] = createChainedFunction(proto[name], property);
	            }
	          } else {
	            proto[name] = property;
	            if (false) {
	              // Add verbose displayName to the function, which helps when looking
	              // at profiling tools.
	              if (typeof property === 'function' && spec.displayName) {
	                proto[name].displayName = spec.displayName + '_' + name;
	              }
	            }
	          }
	        }
	      }
	    }
	  }

	  function mixStaticSpecIntoComponent(Constructor, statics) {
	    if (!statics) {
	      return;
	    }
	    for (var name in statics) {
	      var property = statics[name];
	      if (!statics.hasOwnProperty(name)) {
	        continue;
	      }

	      var isReserved = name in RESERVED_SPEC_KEYS;
	      _invariant(
	        !isReserved,
	        'ReactClass: You are attempting to define a reserved ' +
	          'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' +
	          'as an instance property instead; it will still be accessible on the ' +
	          'constructor.',
	        name
	      );

	      var isInherited = name in Constructor;
	      _invariant(
	        !isInherited,
	        'ReactClass: You are attempting to define ' +
	          '`%s` on your component more than once. This conflict may be ' +
	          'due to a mixin.',
	        name
	      );
	      Constructor[name] = property;
	    }
	  }

	  /**
	   * Merge two objects, but throw if both contain the same key.
	   *
	   * @param {object} one The first object, which is mutated.
	   * @param {object} two The second object
	   * @return {object} one after it has been mutated to contain everything in two.
	   */
	  function mergeIntoWithNoDuplicateKeys(one, two) {
	    _invariant(
	      one && two && typeof one === 'object' && typeof two === 'object',
	      'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'
	    );

	    for (var key in two) {
	      if (two.hasOwnProperty(key)) {
	        _invariant(
	          one[key] === undefined,
	          'mergeIntoWithNoDuplicateKeys(): ' +
	            'Tried to merge two objects with the same key: `%s`. This conflict ' +
	            'may be due to a mixin; in particular, this may be caused by two ' +
	            'getInitialState() or getDefaultProps() methods returning objects ' +
	            'with clashing keys.',
	          key
	        );
	        one[key] = two[key];
	      }
	    }
	    return one;
	  }

	  /**
	   * Creates a function that invokes two functions and merges their return values.
	   *
	   * @param {function} one Function to invoke first.
	   * @param {function} two Function to invoke second.
	   * @return {function} Function that invokes the two argument functions.
	   * @private
	   */
	  function createMergedResultFunction(one, two) {
	    return function mergedResult() {
	      var a = one.apply(this, arguments);
	      var b = two.apply(this, arguments);
	      if (a == null) {
	        return b;
	      } else if (b == null) {
	        return a;
	      }
	      var c = {};
	      mergeIntoWithNoDuplicateKeys(c, a);
	      mergeIntoWithNoDuplicateKeys(c, b);
	      return c;
	    };
	  }

	  /**
	   * Creates a function that invokes two functions and ignores their return vales.
	   *
	   * @param {function} one Function to invoke first.
	   * @param {function} two Function to invoke second.
	   * @return {function} Function that invokes the two argument functions.
	   * @private
	   */
	  function createChainedFunction(one, two) {
	    return function chainedFunction() {
	      one.apply(this, arguments);
	      two.apply(this, arguments);
	    };
	  }

	  /**
	   * Binds a method to the component.
	   *
	   * @param {object} component Component whose method is going to be bound.
	   * @param {function} method Method to be bound.
	   * @return {function} The bound method.
	   */
	  function bindAutoBindMethod(component, method) {
	    var boundMethod = method.bind(component);
	    if (false) {
	      boundMethod.__reactBoundContext = component;
	      boundMethod.__reactBoundMethod = method;
	      boundMethod.__reactBoundArguments = null;
	      var componentName = component.constructor.displayName;
	      var _bind = boundMethod.bind;
	      boundMethod.bind = function(newThis) {
	        for (
	          var _len = arguments.length,
	            args = Array(_len > 1 ? _len - 1 : 0),
	            _key = 1;
	          _key < _len;
	          _key++
	        ) {
	          args[_key - 1] = arguments[_key];
	        }

	        // User is trying to bind() an autobound method; we effectively will
	        // ignore the value of "this" that the user is trying to use, so
	        // let's warn.
	        if (newThis !== component && newThis !== null) {
	          if (process.env.NODE_ENV !== 'production') {
	            warning(
	              false,
	              'bind(): React component methods may only be bound to the ' +
	                'component instance. See %s',
	              componentName
	            );
	          }
	        } else if (!args.length) {
	          if (process.env.NODE_ENV !== 'production') {
	            warning(
	              false,
	              'bind(): You are binding a component method to the component. ' +
	                'React does this for you automatically in a high-performance ' +
	                'way, so you can safely remove this call. See %s',
	              componentName
	            );
	          }
	          return boundMethod;
	        }
	        var reboundMethod = _bind.apply(boundMethod, arguments);
	        reboundMethod.__reactBoundContext = component;
	        reboundMethod.__reactBoundMethod = method;
	        reboundMethod.__reactBoundArguments = args;
	        return reboundMethod;
	      };
	    }
	    return boundMethod;
	  }

	  /**
	   * Binds all auto-bound methods in a component.
	   *
	   * @param {object} component Component whose method is going to be bound.
	   */
	  function bindAutoBindMethods(component) {
	    var pairs = component.__reactAutoBindPairs;
	    for (var i = 0; i < pairs.length; i += 2) {
	      var autoBindKey = pairs[i];
	      var method = pairs[i + 1];
	      component[autoBindKey] = bindAutoBindMethod(component, method);
	    }
	  }

	  var IsMountedPreMixin = {
	    componentDidMount: function() {
	      this.__isMounted = true;
	    }
	  };

	  var IsMountedPostMixin = {
	    componentWillUnmount: function() {
	      this.__isMounted = false;
	    }
	  };

	  /**
	   * Add more to the ReactClass base class. These are all legacy features and
	   * therefore not already part of the modern ReactComponent.
	   */
	  var ReactClassMixin = {
	    /**
	     * TODO: This will be deprecated because state should always keep a consistent
	     * type signature and the only use case for this, is to avoid that.
	     */
	    replaceState: function(newState, callback) {
	      this.updater.enqueueReplaceState(this, newState, callback);
	    },

	    /**
	     * Checks whether or not this composite component is mounted.
	     * @return {boolean} True if mounted, false otherwise.
	     * @protected
	     * @final
	     */
	    isMounted: function() {
	      if (false) {
	        warning(
	          this.__didWarnIsMounted,
	          '%s: isMounted is deprecated. Instead, make sure to clean up ' +
	            'subscriptions and pending requests in componentWillUnmount to ' +
	            'prevent memory leaks.',
	          (this.constructor && this.constructor.displayName) ||
	            this.name ||
	            'Component'
	        );
	        this.__didWarnIsMounted = true;
	      }
	      return !!this.__isMounted;
	    }
	  };

	  var ReactClassComponent = function() {};
	  _assign(
	    ReactClassComponent.prototype,
	    ReactComponent.prototype,
	    ReactClassMixin
	  );

	  /**
	   * Creates a composite component class given a class specification.
	   * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
	   *
	   * @param {object} spec Class specification (which must define `render`).
	   * @return {function} Component constructor function.
	   * @public
	   */
	  function createClass(spec) {
	    // To keep our warnings more understandable, we'll use a little hack here to
	    // ensure that Constructor.name !== 'Constructor'. This makes sure we don't
	    // unnecessarily identify a class without displayName as 'Constructor'.
	    var Constructor = identity(function(props, context, updater) {
	      // This constructor gets overridden by mocks. The argument is used
	      // by mocks to assert on what gets mounted.

	      if (false) {
	        warning(
	          this instanceof Constructor,
	          'Something is calling a React component directly. Use a factory or ' +
	            'JSX instead. See: https://fb.me/react-legacyfactory'
	        );
	      }

	      // Wire up auto-binding
	      if (this.__reactAutoBindPairs.length) {
	        bindAutoBindMethods(this);
	      }

	      this.props = props;
	      this.context = context;
	      this.refs = emptyObject;
	      this.updater = updater || ReactNoopUpdateQueue;

	      this.state = null;

	      // ReactClasses doesn't have constructors. Instead, they use the
	      // getInitialState and componentWillMount methods for initialization.

	      var initialState = this.getInitialState ? this.getInitialState() : null;
	      if (false) {
	        // We allow auto-mocks to proceed as if they're returning null.
	        if (
	          initialState === undefined &&
	          this.getInitialState._isMockFunction
	        ) {
	          // This is probably bad practice. Consider warning here and
	          // deprecating this convenience.
	          initialState = null;
	        }
	      }
	      _invariant(
	        typeof initialState === 'object' && !Array.isArray(initialState),
	        '%s.getInitialState(): must return an object or null',
	        Constructor.displayName || 'ReactCompositeComponent'
	      );

	      this.state = initialState;
	    });
	    Constructor.prototype = new ReactClassComponent();
	    Constructor.prototype.constructor = Constructor;
	    Constructor.prototype.__reactAutoBindPairs = [];

	    injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));

	    mixSpecIntoComponent(Constructor, IsMountedPreMixin);
	    mixSpecIntoComponent(Constructor, spec);
	    mixSpecIntoComponent(Constructor, IsMountedPostMixin);

	    // Initialize the defaultProps property after all mixins have been merged.
	    if (Constructor.getDefaultProps) {
	      Constructor.defaultProps = Constructor.getDefaultProps();
	    }

	    if (false) {
	      // This is a tag to indicate that the use of these method names is ok,
	      // since it's used with createClass. If it's not, then it's likely a
	      // mistake so we'll warn you to use the static property, property
	      // initializer or constructor respectively.
	      if (Constructor.getDefaultProps) {
	        Constructor.getDefaultProps.isReactClassApproved = {};
	      }
	      if (Constructor.prototype.getInitialState) {
	        Constructor.prototype.getInitialState.isReactClassApproved = {};
	      }
	    }

	    _invariant(
	      Constructor.prototype.render,
	      'createClass(...): Class specification must implement a `render` method.'
	    );

	    if (false) {
	      warning(
	        !Constructor.prototype.componentShouldUpdate,
	        '%s has a method called ' +
	          'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +
	          'The name is phrased as a question because the function is ' +
	          'expected to return a value.',
	        spec.displayName || 'A component'
	      );
	      warning(
	        !Constructor.prototype.componentWillRecieveProps,
	        '%s has a method called ' +
	          'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',
	        spec.displayName || 'A component'
	      );
	    }

	    // Reduce time spent doing lookups by setting these on the prototype.
	    for (var methodName in ReactClassInterface) {
	      if (!Constructor.prototype[methodName]) {
	        Constructor.prototype[methodName] = null;
	      }
	    }

	    return Constructor;
	  }

	  return createClass;
	}

	module.exports = factory;


/***/ }),
/* 31 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */
	'use strict';

	var _prodInvariant = __webpack_require__(6);

	var ReactElement = __webpack_require__(16);

	var invariant = __webpack_require__(12);

	/**
	 * Returns the first child in a collection of children and verifies that there
	 * is only one child in the collection.
	 *
	 * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only
	 *
	 * The current implementation of this function assumes that a single child gets
	 * passed without a wrapper, but the purpose of this helper function is to
	 * abstract away the particular structure of children.
	 *
	 * @param {?object} children Child collection structure.
	 * @return {ReactElement} The first and only `ReactElement` contained in the
	 * structure.
	 */
	function onlyChild(children) {
	  !ReactElement.isValidElement(children) ?  false ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;
	  return children;
	}

	module.exports = onlyChild;

/***/ }),
/* 32 */
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	module.exports = __webpack_require__(33);


/***/ }),
/* 33 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/

	'use strict';

	var ReactDOMComponentTree = __webpack_require__(34);
	var ReactDefaultInjection = __webpack_require__(38);
	var ReactMount = __webpack_require__(162);
	var ReactReconciler = __webpack_require__(59);
	var ReactUpdates = __webpack_require__(56);
	var ReactVersion = __webpack_require__(167);

	var findDOMNode = __webpack_require__(168);
	var getHostComponentFromComposite = __webpack_require__(169);
	var renderSubtreeIntoContainer = __webpack_require__(170);
	var warning = __webpack_require__(8);

	ReactDefaultInjection.inject();

	var ReactDOM = {
	  findDOMNode: findDOMNode,
	  render: ReactMount.render,
	  unmountComponentAtNode: ReactMount.unmountComponentAtNode,
	  version: ReactVersion,

	  /* eslint-disable camelcase */
	  unstable_batchedUpdates: ReactUpdates.batchedUpdates,
	  unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer
	  /* eslint-enable camelcase */
	};

	// Inject the runtime into a devtools global hook regardless of browser.
	// Allows for debugging when the hook is injected on the page.
	if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {
	  __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
	    ComponentTree: {
	      getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode,
	      getNodeFromInstance: function (inst) {
	        // inst is an internal instance (but could be a composite)
	        if (inst._renderedComponent) {
	          inst = getHostComponentFromComposite(inst);
	        }
	        if (inst) {
	          return ReactDOMComponentTree.getNodeFromInstance(inst);
	        } else {
	          return null;
	        }
	      }
	    },
	    Mount: ReactMount,
	    Reconciler: ReactReconciler
	  });
	}

	if (false) {
	  var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');
	  if (ExecutionEnvironment.canUseDOM && window.top === window.self) {
	    // First check if devtools is not installed
	    if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
	      // If we're in Chrome or Firefox, provide a download link if not installed.
	      if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {
	        // Firefox does not have the issue with devtools loaded over file://
	        var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1;
	        console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools');
	      }
	    }

	    var testFunc = function testFn() {};
	    process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, "It looks like you're using a minified copy of the development build " + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;

	    // If we're in IE8, check to see if we are in compatibility mode and provide
	    // information on preventing compatibility mode
	    var ieCompatibilityMode = document.documentMode && document.documentMode < 8;

	    process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : void 0;

	    var expectedFeatures = [
	    // shims
	    Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.trim];

	    for (var i = 0; i < expectedFeatures.length; i++) {
	      if (!expectedFeatures[i]) {
	        process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0;
	        break;
	      }
	    }
	  }
	}

	if (false) {
	  var ReactInstrumentation = require('./ReactInstrumentation');
	  var ReactDOMUnknownPropertyHook = require('./ReactDOMUnknownPropertyHook');
	  var ReactDOMNullInputValuePropHook = require('./ReactDOMNullInputValuePropHook');
	  var ReactDOMInvalidARIAHook = require('./ReactDOMInvalidARIAHook');

	  ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook);
	  ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook);
	  ReactInstrumentation.debugTool.addHook(ReactDOMInvalidARIAHook);
	}

	module.exports = ReactDOM;

/***/ }),
/* 34 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _prodInvariant = __webpack_require__(35);

	var DOMProperty = __webpack_require__(36);
	var ReactDOMComponentFlags = __webpack_require__(37);

	var invariant = __webpack_require__(12);

	var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;
	var Flags = ReactDOMComponentFlags;

	var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);

	/**
	 * Check if a given node should be cached.
	 */
	function shouldPrecacheNode(node, nodeID) {
	  return node.nodeType === 1 && node.getAttribute(ATTR_NAME) === String(nodeID) || node.nodeType === 8 && node.nodeValue === ' react-text: ' + nodeID + ' ' || node.nodeType === 8 && node.nodeValue === ' react-empty: ' + nodeID + ' ';
	}

	/**
	 * Drill down (through composites and empty components) until we get a host or
	 * host text component.
	 *
	 * This is pretty polymorphic but unavoidable with the current structure we have
	 * for `_renderedChildren`.
	 */
	function getRenderedHostOrTextFromComponent(component) {
	  var rendered;
	  while (rendered = component._renderedComponent) {
	    component = rendered;
	  }
	  return component;
	}

	/**
	 * Populate `_hostNode` on the rendered host/text component with the given
	 * DOM node. The passed `inst` can be a composite.
	 */
	function precacheNode(inst, node) {
	  var hostInst = getRenderedHostOrTextFromComponent(inst);
	  hostInst._hostNode = node;
	  node[internalInstanceKey] = hostInst;
	}

	function uncacheNode(inst) {
	  var node = inst._hostNode;
	  if (node) {
	    delete node[internalInstanceKey];
	    inst._hostNode = null;
	  }
	}

	/**
	 * Populate `_hostNode` on each child of `inst`, assuming that the children
	 * match up with the DOM (element) children of `node`.
	 *
	 * We cache entire levels at once to avoid an n^2 problem where we access the
	 * children of a node sequentially and have to walk from the start to our target
	 * node every time.
	 *
	 * Since we update `_renderedChildren` and the actual DOM at (slightly)
	 * different times, we could race here and see a newer `_renderedChildren` than
	 * the DOM nodes we see. To avoid this, ReactMultiChild calls
	 * `prepareToManageChildren` before we change `_renderedChildren`, at which
	 * time the container's child nodes are always cached (until it unmounts).
	 */
	function precacheChildNodes(inst, node) {
	  if (inst._flags & Flags.hasCachedChildNodes) {
	    return;
	  }
	  var children = inst._renderedChildren;
	  var childNode = node.firstChild;
	  outer: for (var name in children) {
	    if (!children.hasOwnProperty(name)) {
	      continue;
	    }
	    var childInst = children[name];
	    var childID = getRenderedHostOrTextFromComponent(childInst)._domID;
	    if (childID === 0) {
	      // We're currently unmounting this child in ReactMultiChild; skip it.
	      continue;
	    }
	    // We assume the child nodes are in the same order as the child instances.
	    for (; childNode !== null; childNode = childNode.nextSibling) {
	      if (shouldPrecacheNode(childNode, childID)) {
	        precacheNode(childInst, childNode);
	        continue outer;
	      }
	    }
	    // We reached the end of the DOM children without finding an ID match.
	     true ?  false ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0;
	  }
	  inst._flags |= Flags.hasCachedChildNodes;
	}

	/**
	 * Given a DOM node, return the closest ReactDOMComponent or
	 * ReactDOMTextComponent instance ancestor.
	 */
	function getClosestInstanceFromNode(node) {
	  if (node[internalInstanceKey]) {
	    return node[internalInstanceKey];
	  }

	  // Walk up the tree until we find an ancestor whose instance we have cached.
	  var parents = [];
	  while (!node[internalInstanceKey]) {
	    parents.push(node);
	    if (node.parentNode) {
	      node = node.parentNode;
	    } else {
	      // Top of the tree. This node must not be part of a React tree (or is
	      // unmounted, potentially).
	      return null;
	    }
	  }

	  var closest;
	  var inst;
	  for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) {
	    closest = inst;
	    if (parents.length) {
	      precacheChildNodes(inst, node);
	    }
	  }

	  return closest;
	}

	/**
	 * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent
	 * instance, or null if the node was not rendered by this React.
	 */
	function getInstanceFromNode(node) {
	  var inst = getClosestInstanceFromNode(node);
	  if (inst != null && inst._hostNode === node) {
	    return inst;
	  } else {
	    return null;
	  }
	}

	/**
	 * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding
	 * DOM node.
	 */
	function getNodeFromInstance(inst) {
	  // Without this first invariant, passing a non-DOM-component triggers the next
	  // invariant for a missing parent, which is super confusing.
	  !(inst._hostNode !== undefined) ?  false ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;

	  if (inst._hostNode) {
	    return inst._hostNode;
	  }

	  // Walk up the tree until we find an ancestor whose DOM node we have cached.
	  var parents = [];
	  while (!inst._hostNode) {
	    parents.push(inst);
	    !inst._hostParent ?  false ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0;
	    inst = inst._hostParent;
	  }

	  // Now parents contains each ancestor that does *not* have a cached native
	  // node, and `inst` is the deepest ancestor that does.
	  for (; parents.length; inst = parents.pop()) {
	    precacheChildNodes(inst, inst._hostNode);
	  }

	  return inst._hostNode;
	}

	var ReactDOMComponentTree = {
	  getClosestInstanceFromNode: getClosestInstanceFromNode,
	  getInstanceFromNode: getInstanceFromNode,
	  getNodeFromInstance: getNodeFromInstance,
	  precacheChildNodes: precacheChildNodes,
	  precacheNode: precacheNode,
	  uncacheNode: uncacheNode
	};

	module.exports = ReactDOMComponentTree;

/***/ }),
/* 35 */
6,
/* 36 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _prodInvariant = __webpack_require__(35);

	var invariant = __webpack_require__(12);

	function checkMask(value, bitmask) {
	  return (value & bitmask) === bitmask;
	}

	var DOMPropertyInjection = {
	  /**
	   * Mapping from normalized, camelcased property names to a configuration that
	   * specifies how the associated DOM property should be accessed or rendered.
	   */
	  MUST_USE_PROPERTY: 0x1,
	  HAS_BOOLEAN_VALUE: 0x4,
	  HAS_NUMERIC_VALUE: 0x8,
	  HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,
	  HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,

	  /**
	   * Inject some specialized knowledge about the DOM. This takes a config object
	   * with the following properties:
	   *
	   * isCustomAttribute: function that given an attribute name will return true
	   * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*
	   * attributes where it's impossible to enumerate all of the possible
	   * attribute names,
	   *
	   * Properties: object mapping DOM property name to one of the
	   * DOMPropertyInjection constants or null. If your attribute isn't in here,
	   * it won't get written to the DOM.
	   *
	   * DOMAttributeNames: object mapping React attribute name to the DOM
	   * attribute name. Attribute names not specified use the **lowercase**
	   * normalized name.
	   *
	   * DOMAttributeNamespaces: object mapping React attribute name to the DOM
	   * attribute namespace URL. (Attribute names not specified use no namespace.)
	   *
	   * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.
	   * Property names not specified use the normalized name.
	   *
	   * DOMMutationMethods: Properties that require special mutation methods. If
	   * `value` is undefined, the mutation method should unset the property.
	   *
	   * @param {object} domPropertyConfig the config as described above.
	   */
	  injectDOMPropertyConfig: function (domPropertyConfig) {
	    var Injection = DOMPropertyInjection;
	    var Properties = domPropertyConfig.Properties || {};
	    var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};
	    var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};
	    var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};
	    var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};

	    if (domPropertyConfig.isCustomAttribute) {
	      DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);
	    }

	    for (var propName in Properties) {
	      !!DOMProperty.properties.hasOwnProperty(propName) ?  false ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property \'%s\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0;

	      var lowerCased = propName.toLowerCase();
	      var propConfig = Properties[propName];

	      var propertyInfo = {
	        attributeName: lowerCased,
	        attributeNamespace: null,
	        propertyName: propName,
	        mutationMethod: null,

	        mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),
	        hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),
	        hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),
	        hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),
	        hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)
	      };
	      !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ?  false ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0;

	      if (false) {
	        DOMProperty.getPossibleStandardName[lowerCased] = propName;
	      }

	      if (DOMAttributeNames.hasOwnProperty(propName)) {
	        var attributeName = DOMAttributeNames[propName];
	        propertyInfo.attributeName = attributeName;
	        if (false) {
	          DOMProperty.getPossibleStandardName[attributeName] = propName;
	        }
	      }

	      if (DOMAttributeNamespaces.hasOwnProperty(propName)) {
	        propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];
	      }

	      if (DOMPropertyNames.hasOwnProperty(propName)) {
	        propertyInfo.propertyName = DOMPropertyNames[propName];
	      }

	      if (DOMMutationMethods.hasOwnProperty(propName)) {
	        propertyInfo.mutationMethod = DOMMutationMethods[propName];
	      }

	      DOMProperty.properties[propName] = propertyInfo;
	    }
	  }
	};

	/* eslint-disable max-len */
	var ATTRIBUTE_NAME_START_CHAR = ':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';
	/* eslint-enable max-len */

	/**
	 * DOMProperty exports lookup objects that can be used like functions:
	 *
	 *   > DOMProperty.isValid['id']
	 *   true
	 *   > DOMProperty.isValid['foobar']
	 *   undefined
	 *
	 * Although this may be confusing, it performs better in general.
	 *
	 * @see http://jsperf.com/key-exists
	 * @see http://jsperf.com/key-missing
	 */
	var DOMProperty = {
	  ID_ATTRIBUTE_NAME: 'data-reactid',
	  ROOT_ATTRIBUTE_NAME: 'data-reactroot',

	  ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,
	  ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040',

	  /**
	   * Map from property "standard name" to an object with info about how to set
	   * the property in the DOM. Each object contains:
	   *
	   * attributeName:
	   *   Used when rendering markup or with `*Attribute()`.
	   * attributeNamespace
	   * propertyName:
	   *   Used on DOM node instances. (This includes properties that mutate due to
	   *   external factors.)
	   * mutationMethod:
	   *   If non-null, used instead of the property or `setAttribute()` after
	   *   initial render.
	   * mustUseProperty:
	   *   Whether the property must be accessed and mutated as an object property.
	   * hasBooleanValue:
	   *   Whether the property should be removed when set to a falsey value.
	   * hasNumericValue:
	   *   Whether the property must be numeric or parse as a numeric and should be
	   *   removed when set to a falsey value.
	   * hasPositiveNumericValue:
	   *   Whether the property must be positive numeric or parse as a positive
	   *   numeric and should be removed when set to a falsey value.
	   * hasOverloadedBooleanValue:
	   *   Whether the property can be used as a flag as well as with a value.
	   *   Removed when strictly equal to false; present without a value when
	   *   strictly equal to true; present with a value otherwise.
	   */
	  properties: {},

	  /**
	   * Mapping from lowercase property names to the properly cased version, used
	   * to warn in the case of missing properties. Available only in __DEV__.
	   *
	   * autofocus is predefined, because adding it to the property whitelist
	   * causes unintended side effects.
	   *
	   * @type {Object}
	   */
	  getPossibleStandardName:  false ? { autofocus: 'autoFocus' } : null,

	  /**
	   * All of the isCustomAttribute() functions that have been injected.
	   */
	  _isCustomAttributeFunctions: [],

	  /**
	   * Checks whether a property name is a custom attribute.
	   * @method
	   */
	  isCustomAttribute: function (attributeName) {
	    for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {
	      var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];
	      if (isCustomAttributeFn(attributeName)) {
	        return true;
	      }
	    }
	    return false;
	  },

	  injection: DOMPropertyInjection
	};

	module.exports = DOMProperty;

/***/ }),
/* 37 */
/***/ (function(module, exports) {

	/**
	 * Copyright 2015-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var ReactDOMComponentFlags = {
	  hasCachedChildNodes: 1 << 0
	};

	module.exports = ReactDOMComponentFlags;

/***/ }),
/* 38 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var ARIADOMPropertyConfig = __webpack_require__(39);
	var BeforeInputEventPlugin = __webpack_require__(40);
	var ChangeEventPlugin = __webpack_require__(55);
	var DefaultEventPluginOrder = __webpack_require__(68);
	var EnterLeaveEventPlugin = __webpack_require__(69);
	var HTMLDOMPropertyConfig = __webpack_require__(74);
	var ReactComponentBrowserEnvironment = __webpack_require__(75);
	var ReactDOMComponent = __webpack_require__(88);
	var ReactDOMComponentTree = __webpack_require__(34);
	var ReactDOMEmptyComponent = __webpack_require__(133);
	var ReactDOMTreeTraversal = __webpack_require__(134);
	var ReactDOMTextComponent = __webpack_require__(135);
	var ReactDefaultBatchingStrategy = __webpack_require__(136);
	var ReactEventListener = __webpack_require__(137);
	var ReactInjection = __webpack_require__(140);
	var ReactReconcileTransaction = __webpack_require__(141);
	var SVGDOMPropertyConfig = __webpack_require__(149);
	var SelectEventPlugin = __webpack_require__(150);
	var SimpleEventPlugin = __webpack_require__(151);

	var alreadyInjected = false;

	function inject() {
	  if (alreadyInjected) {
	    // TODO: This is currently true because these injections are shared between
	    // the client and the server package. They should be built independently
	    // and not share any injection state. Then this problem will be solved.
	    return;
	  }
	  alreadyInjected = true;

	  ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener);

	  /**
	   * Inject modules for resolving DOM hierarchy and plugin ordering.
	   */
	  ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);
	  ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree);
	  ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal);

	  /**
	   * Some important event plugins included by default (without having to require
	   * them).
	   */
	  ReactInjection.EventPluginHub.injectEventPluginsByName({
	    SimpleEventPlugin: SimpleEventPlugin,
	    EnterLeaveEventPlugin: EnterLeaveEventPlugin,
	    ChangeEventPlugin: ChangeEventPlugin,
	    SelectEventPlugin: SelectEventPlugin,
	    BeforeInputEventPlugin: BeforeInputEventPlugin
	  });

	  ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent);

	  ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent);

	  ReactInjection.DOMProperty.injectDOMPropertyConfig(ARIADOMPropertyConfig);
	  ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig);
	  ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig);

	  ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) {
	    return new ReactDOMEmptyComponent(instantiate);
	  });

	  ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction);
	  ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);

	  ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);
	}

	module.exports = {
	  inject: inject
	};

/***/ }),
/* 39 */
/***/ (function(module, exports) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var ARIADOMPropertyConfig = {
	  Properties: {
	    // Global States and Properties
	    'aria-current': 0, // state
	    'aria-details': 0,
	    'aria-disabled': 0, // state
	    'aria-hidden': 0, // state
	    'aria-invalid': 0, // state
	    'aria-keyshortcuts': 0,
	    'aria-label': 0,
	    'aria-roledescription': 0,
	    // Widget Attributes
	    'aria-autocomplete': 0,
	    'aria-checked': 0,
	    'aria-expanded': 0,
	    'aria-haspopup': 0,
	    'aria-level': 0,
	    'aria-modal': 0,
	    'aria-multiline': 0,
	    'aria-multiselectable': 0,
	    'aria-orientation': 0,
	    'aria-placeholder': 0,
	    'aria-pressed': 0,
	    'aria-readonly': 0,
	    'aria-required': 0,
	    'aria-selected': 0,
	    'aria-sort': 0,
	    'aria-valuemax': 0,
	    'aria-valuemin': 0,
	    'aria-valuenow': 0,
	    'aria-valuetext': 0,
	    // Live Region Attributes
	    'aria-atomic': 0,
	    'aria-busy': 0,
	    'aria-live': 0,
	    'aria-relevant': 0,
	    // Drag-and-Drop Attributes
	    'aria-dropeffect': 0,
	    'aria-grabbed': 0,
	    // Relationship Attributes
	    'aria-activedescendant': 0,
	    'aria-colcount': 0,
	    'aria-colindex': 0,
	    'aria-colspan': 0,
	    'aria-controls': 0,
	    'aria-describedby': 0,
	    'aria-errormessage': 0,
	    'aria-flowto': 0,
	    'aria-labelledby': 0,
	    'aria-owns': 0,
	    'aria-posinset': 0,
	    'aria-rowcount': 0,
	    'aria-rowindex': 0,
	    'aria-rowspan': 0,
	    'aria-setsize': 0
	  },
	  DOMAttributeNames: {},
	  DOMPropertyNames: {}
	};

	module.exports = ARIADOMPropertyConfig;

/***/ }),
/* 40 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var EventPropagators = __webpack_require__(41);
	var ExecutionEnvironment = __webpack_require__(48);
	var FallbackCompositionState = __webpack_require__(49);
	var SyntheticCompositionEvent = __webpack_require__(52);
	var SyntheticInputEvent = __webpack_require__(54);

	var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space
	var START_KEYCODE = 229;

	var canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window;

	var documentMode = null;
	if (ExecutionEnvironment.canUseDOM && 'documentMode' in document) {
	  documentMode = document.documentMode;
	}

	// Webkit offers a very useful `textInput` event that can be used to
	// directly represent `beforeInput`. The IE `textinput` event is not as
	// useful, so we don't use it.
	var canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto();

	// In IE9+, we have access to composition events, but the data supplied
	// by the native compositionend event may be incorrect. Japanese ideographic
	// spaces, for instance (\u3000) are not recorded correctly.
	var useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);

	/**
	 * Opera <= 12 includes TextEvent in window, but does not fire
	 * text input events. Rely on keypress instead.
	 */
	function isPresto() {
	  var opera = window.opera;
	  return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12;
	}

	var SPACEBAR_CODE = 32;
	var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);

	// Events and their corresponding property names.
	var eventTypes = {
	  beforeInput: {
	    phasedRegistrationNames: {
	      bubbled: 'onBeforeInput',
	      captured: 'onBeforeInputCapture'
	    },
	    dependencies: ['topCompositionEnd', 'topKeyPress', 'topTextInput', 'topPaste']
	  },
	  compositionEnd: {
	    phasedRegistrationNames: {
	      bubbled: 'onCompositionEnd',
	      captured: 'onCompositionEndCapture'
	    },
	    dependencies: ['topBlur', 'topCompositionEnd', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']
	  },
	  compositionStart: {
	    phasedRegistrationNames: {
	      bubbled: 'onCompositionStart',
	      captured: 'onCompositionStartCapture'
	    },
	    dependencies: ['topBlur', 'topCompositionStart', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']
	  },
	  compositionUpdate: {
	    phasedRegistrationNames: {
	      bubbled: 'onCompositionUpdate',
	      captured: 'onCompositionUpdateCapture'
	    },
	    dependencies: ['topBlur', 'topCompositionUpdate', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']
	  }
	};

	// Track whether we've ever handled a keypress on the space key.
	var hasSpaceKeypress = false;

	/**
	 * Return whether a native keypress event is assumed to be a command.
	 * This is required because Firefox fires `keypress` events for key commands
	 * (cut, copy, select-all, etc.) even though no character is inserted.
	 */
	function isKeypressCommand(nativeEvent) {
	  return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) &&
	  // ctrlKey && altKey is equivalent to AltGr, and is not a command.
	  !(nativeEvent.ctrlKey && nativeEvent.altKey);
	}

	/**
	 * Translate native top level events into event types.
	 *
	 * @param {string} topLevelType
	 * @return {object}
	 */
	function getCompositionEventType(topLevelType) {
	  switch (topLevelType) {
	    case 'topCompositionStart':
	      return eventTypes.compositionStart;
	    case 'topCompositionEnd':
	      return eventTypes.compositionEnd;
	    case 'topCompositionUpdate':
	      return eventTypes.compositionUpdate;
	  }
	}

	/**
	 * Does our fallback best-guess model think this event signifies that
	 * composition has begun?
	 *
	 * @param {string} topLevelType
	 * @param {object} nativeEvent
	 * @return {boolean}
	 */
	function isFallbackCompositionStart(topLevelType, nativeEvent) {
	  return topLevelType === 'topKeyDown' && nativeEvent.keyCode === START_KEYCODE;
	}

	/**
	 * Does our fallback mode think that this event is the end of composition?
	 *
	 * @param {string} topLevelType
	 * @param {object} nativeEvent
	 * @return {boolean}
	 */
	function isFallbackCompositionEnd(topLevelType, nativeEvent) {
	  switch (topLevelType) {
	    case 'topKeyUp':
	      // Command keys insert or clear IME input.
	      return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;
	    case 'topKeyDown':
	      // Expect IME keyCode on each keydown. If we get any other
	      // code we must have exited earlier.
	      return nativeEvent.keyCode !== START_KEYCODE;
	    case 'topKeyPress':
	    case 'topMouseDown':
	    case 'topBlur':
	      // Events are not possible without cancelling IME.
	      return true;
	    default:
	      return false;
	  }
	}

	/**
	 * Google Input Tools provides composition data via a CustomEvent,
	 * with the `data` property populated in the `detail` object. If this
	 * is available on the event object, use it. If not, this is a plain
	 * composition event and we have nothing special to extract.
	 *
	 * @param {object} nativeEvent
	 * @return {?string}
	 */
	function getDataFromCustomEvent(nativeEvent) {
	  var detail = nativeEvent.detail;
	  if (typeof detail === 'object' && 'data' in detail) {
	    return detail.data;
	  }
	  return null;
	}

	// Track the current IME composition fallback object, if any.
	var currentComposition = null;

	/**
	 * @return {?object} A SyntheticCompositionEvent.
	 */
	function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
	  var eventType;
	  var fallbackData;

	  if (canUseCompositionEvent) {
	    eventType = getCompositionEventType(topLevelType);
	  } else if (!currentComposition) {
	    if (isFallbackCompositionStart(topLevelType, nativeEvent)) {
	      eventType = eventTypes.compositionStart;
	    }
	  } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {
	    eventType = eventTypes.compositionEnd;
	  }

	  if (!eventType) {
	    return null;
	  }

	  if (useFallbackCompositionData) {
	    // The current composition is stored statically and must not be
	    // overwritten while composition continues.
	    if (!currentComposition && eventType === eventTypes.compositionStart) {
	      currentComposition = FallbackCompositionState.getPooled(nativeEventTarget);
	    } else if (eventType === eventTypes.compositionEnd) {
	      if (currentComposition) {
	        fallbackData = currentComposition.getData();
	      }
	    }
	  }

	  var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);

	  if (fallbackData) {
	    // Inject data generated from fallback path into the synthetic event.
	    // This matches the property of native CompositionEventInterface.
	    event.data = fallbackData;
	  } else {
	    var customData = getDataFromCustomEvent(nativeEvent);
	    if (customData !== null) {
	      event.data = customData;
	    }
	  }

	  EventPropagators.accumulateTwoPhaseDispatches(event);
	  return event;
	}

	/**
	 * @param {string} topLevelType Record from `EventConstants`.
	 * @param {object} nativeEvent Native browser event.
	 * @return {?string} The string corresponding to this `beforeInput` event.
	 */
	function getNativeBeforeInputChars(topLevelType, nativeEvent) {
	  switch (topLevelType) {
	    case 'topCompositionEnd':
	      return getDataFromCustomEvent(nativeEvent);
	    case 'topKeyPress':
	      /**
	       * If native `textInput` events are available, our goal is to make
	       * use of them. However, there is a special case: the spacebar key.
	       * In Webkit, preventing default on a spacebar `textInput` event
	       * cancels character insertion, but it *also* causes the browser
	       * to fall back to its default spacebar behavior of scrolling the
	       * page.
	       *
	       * Tracking at:
	       * https://code.google.com/p/chromium/issues/detail?id=355103
	       *
	       * To avoid this issue, use the keypress event as if no `textInput`
	       * event is available.
	       */
	      var which = nativeEvent.which;
	      if (which !== SPACEBAR_CODE) {
	        return null;
	      }

	      hasSpaceKeypress = true;
	      return SPACEBAR_CHAR;

	    case 'topTextInput':
	      // Record the characters to be added to the DOM.
	      var chars = nativeEvent.data;

	      // If it's a spacebar character, assume that we have already handled
	      // it at the keypress level and bail immediately. Android Chrome
	      // doesn't give us keycodes, so we need to blacklist it.
	      if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {
	        return null;
	      }

	      return chars;

	    default:
	      // For other native event types, do nothing.
	      return null;
	  }
	}

	/**
	 * For browsers that do not provide the `textInput` event, extract the
	 * appropriate string to use for SyntheticInputEvent.
	 *
	 * @param {string} topLevelType Record from `EventConstants`.
	 * @param {object} nativeEvent Native browser event.
	 * @return {?string} The fallback string for this `beforeInput` event.
	 */
	function getFallbackBeforeInputChars(topLevelType, nativeEvent) {
	  // If we are currently composing (IME) and using a fallback to do so,
	  // try to extract the composed characters from the fallback object.
	  // If composition event is available, we extract a string only at
	  // compositionevent, otherwise extract it at fallback events.
	  if (currentComposition) {
	    if (topLevelType === 'topCompositionEnd' || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {
	      var chars = currentComposition.getData();
	      FallbackCompositionState.release(currentComposition);
	      currentComposition = null;
	      return chars;
	    }
	    return null;
	  }

	  switch (topLevelType) {
	    case 'topPaste':
	      // If a paste event occurs after a keypress, throw out the input
	      // chars. Paste events should not lead to BeforeInput events.
	      return null;
	    case 'topKeyPress':
	      /**
	       * As of v27, Firefox may fire keypress events even when no character
	       * will be inserted. A few possibilities:
	       *
	       * - `which` is `0`. Arrow keys, Esc key, etc.
	       *
	       * - `which` is the pressed key code, but no char is available.
	       *   Ex: 'AltGr + d` in Polish. There is no modified character for
	       *   this key combination and no character is inserted into the
	       *   document, but FF fires the keypress for char code `100` anyway.
	       *   No `input` event will occur.
	       *
	       * - `which` is the pressed key code, but a command combination is
	       *   being used. Ex: `Cmd+C`. No character is inserted, and no
	       *   `input` event will occur.
	       */
	      if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {
	        return String.fromCharCode(nativeEvent.which);
	      }
	      return null;
	    case 'topCompositionEnd':
	      return useFallbackCompositionData ? null : nativeEvent.data;
	    default:
	      return null;
	  }
	}

	/**
	 * Extract a SyntheticInputEvent for `beforeInput`, based on either native
	 * `textInput` or fallback behavior.
	 *
	 * @return {?object} A SyntheticInputEvent.
	 */
	function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
	  var chars;

	  if (canUseTextInputEvent) {
	    chars = getNativeBeforeInputChars(topLevelType, nativeEvent);
	  } else {
	    chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);
	  }

	  // If no characters are being inserted, no BeforeInput event should
	  // be fired.
	  if (!chars) {
	    return null;
	  }

	  var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);

	  event.data = chars;
	  EventPropagators.accumulateTwoPhaseDispatches(event);
	  return event;
	}

	/**
	 * Create an `onBeforeInput` event to match
	 * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.
	 *
	 * This event plugin is based on the native `textInput` event
	 * available in Chrome, Safari, Opera, and IE. This event fires after
	 * `onKeyPress` and `onCompositionEnd`, but before `onInput`.
	 *
	 * `beforeInput` is spec'd but not implemented in any browsers, and
	 * the `input` event does not provide any useful information about what has
	 * actually been added, contrary to the spec. Thus, `textInput` is the best
	 * available event to identify the characters that have actually been inserted
	 * into the target node.
	 *
	 * This plugin is also responsible for emitting `composition` events, thus
	 * allowing us to share composition fallback code for both `beforeInput` and
	 * `composition` event types.
	 */
	var BeforeInputEventPlugin = {
	  eventTypes: eventTypes,

	  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
	    return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)];
	  }
	};

	module.exports = BeforeInputEventPlugin;

/***/ }),
/* 41 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var EventPluginHub = __webpack_require__(42);
	var EventPluginUtils = __webpack_require__(44);

	var accumulateInto = __webpack_require__(46);
	var forEachAccumulated = __webpack_require__(47);
	var warning = __webpack_require__(8);

	var getListener = EventPluginHub.getListener;

	/**
	 * Some event types have a notion of different registration names for different
	 * "phases" of propagation. This finds listeners by a given phase.
	 */
	function listenerAtPhase(inst, event, propagationPhase) {
	  var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];
	  return getListener(inst, registrationName);
	}

	/**
	 * Tags a `SyntheticEvent` with dispatched listeners. Creating this function
	 * here, allows us to not have to bind or create functions for each event.
	 * Mutating the event's members allows us to not have to create a wrapping
	 * "dispatch" object that pairs the event with the listener.
	 */
	function accumulateDirectionalDispatches(inst, phase, event) {
	  if (false) {
	    process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0;
	  }
	  var listener = listenerAtPhase(inst, event, phase);
	  if (listener) {
	    event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
	    event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
	  }
	}

	/**
	 * Collect dispatches (must be entirely collected before dispatching - see unit
	 * tests). Lazily allocate the array to conserve memory.  We must loop through
	 * each event and perform the traversal for each one. We cannot perform a
	 * single traversal for the entire collection of events because each event may
	 * have a different target.
	 */
	function accumulateTwoPhaseDispatchesSingle(event) {
	  if (event && event.dispatchConfig.phasedRegistrationNames) {
	    EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);
	  }
	}

	/**
	 * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.
	 */
	function accumulateTwoPhaseDispatchesSingleSkipTarget(event) {
	  if (event && event.dispatchConfig.phasedRegistrationNames) {
	    var targetInst = event._targetInst;
	    var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;
	    EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);
	  }
	}

	/**
	 * Accumulates without regard to direction, does not look for phased
	 * registration names. Same as `accumulateDirectDispatchesSingle` but without
	 * requiring that the `dispatchMarker` be the same as the dispatched ID.
	 */
	function accumulateDispatches(inst, ignoredDirection, event) {
	  if (event && event.dispatchConfig.registrationName) {
	    var registrationName = event.dispatchConfig.registrationName;
	    var listener = getListener(inst, registrationName);
	    if (listener) {
	      event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
	      event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
	    }
	  }
	}

	/**
	 * Accumulates dispatches on an `SyntheticEvent`, but only for the
	 * `dispatchMarker`.
	 * @param {SyntheticEvent} event
	 */
	function accumulateDirectDispatchesSingle(event) {
	  if (event && event.dispatchConfig.registrationName) {
	    accumulateDispatches(event._targetInst, null, event);
	  }
	}

	function accumulateTwoPhaseDispatches(events) {
	  forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);
	}

	function accumulateTwoPhaseDispatchesSkipTarget(events) {
	  forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);
	}

	function accumulateEnterLeaveDispatches(leave, enter, from, to) {
	  EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);
	}

	function accumulateDirectDispatches(events) {
	  forEachAccumulated(events, accumulateDirectDispatchesSingle);
	}

	/**
	 * A small set of propagation patterns, each of which will accept a small amount
	 * of information, and generate a set of "dispatch ready event objects" - which
	 * are sets of events that have already been annotated with a set of dispatched
	 * listener functions/ids. The API is designed this way to discourage these
	 * propagation strategies from actually executing the dispatches, since we
	 * always want to collect the entire set of dispatches before executing event a
	 * single one.
	 *
	 * @constructor EventPropagators
	 */
	var EventPropagators = {
	  accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,
	  accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,
	  accumulateDirectDispatches: accumulateDirectDispatches,
	  accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches
	};

	module.exports = EventPropagators;

/***/ }),
/* 42 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _prodInvariant = __webpack_require__(35);

	var EventPluginRegistry = __webpack_require__(43);
	var EventPluginUtils = __webpack_require__(44);
	var ReactErrorUtils = __webpack_require__(45);

	var accumulateInto = __webpack_require__(46);
	var forEachAccumulated = __webpack_require__(47);
	var invariant = __webpack_require__(12);

	/**
	 * Internal store for event listeners
	 */
	var listenerBank = {};

	/**
	 * Internal queue of events that have accumulated their dispatches and are
	 * waiting to have their dispatches executed.
	 */
	var eventQueue = null;

	/**
	 * Dispatches an event and releases it back into the pool, unless persistent.
	 *
	 * @param {?object} event Synthetic event to be dispatched.
	 * @param {boolean} simulated If the event is simulated (changes exn behavior)
	 * @private
	 */
	var executeDispatchesAndRelease = function (event, simulated) {
	  if (event) {
	    EventPluginUtils.executeDispatchesInOrder(event, simulated);

	    if (!event.isPersistent()) {
	      event.constructor.release(event);
	    }
	  }
	};
	var executeDispatchesAndReleaseSimulated = function (e) {
	  return executeDispatchesAndRelease(e, true);
	};
	var executeDispatchesAndReleaseTopLevel = function (e) {
	  return executeDispatchesAndRelease(e, false);
	};

	var getDictionaryKey = function (inst) {
	  // Prevents V8 performance issue:
	  // https://github.com/facebook/react/pull/7232
	  return '.' + inst._rootNodeID;
	};

	function isInteractive(tag) {
	  return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';
	}

	function shouldPreventMouseEvent(name, type, props) {
	  switch (name) {
	    case 'onClick':
	    case 'onClickCapture':
	    case 'onDoubleClick':
	    case 'onDoubleClickCapture':
	    case 'onMouseDown':
	    case 'onMouseDownCapture':
	    case 'onMouseMove':
	    case 'onMouseMoveCapture':
	    case 'onMouseUp':
	    case 'onMouseUpCapture':
	      return !!(props.disabled && isInteractive(type));
	    default:
	      return false;
	  }
	}

	/**
	 * This is a unified interface for event plugins to be installed and configured.
	 *
	 * Event plugins can implement the following properties:
	 *
	 *   `extractEvents` {function(string, DOMEventTarget, string, object): *}
	 *     Required. When a top-level event is fired, this method is expected to
	 *     extract synthetic events that will in turn be queued and dispatched.
	 *
	 *   `eventTypes` {object}
	 *     Optional, plugins that fire events must publish a mapping of registration
	 *     names that are used to register listeners. Values of this mapping must
	 *     be objects that contain `registrationName` or `phasedRegistrationNames`.
	 *
	 *   `executeDispatch` {function(object, function, string)}
	 *     Optional, allows plugins to override how an event gets dispatched. By
	 *     default, the listener is simply invoked.
	 *
	 * Each plugin that is injected into `EventsPluginHub` is immediately operable.
	 *
	 * @public
	 */
	var EventPluginHub = {
	  /**
	   * Methods for injecting dependencies.
	   */
	  injection: {
	    /**
	     * @param {array} InjectedEventPluginOrder
	     * @public
	     */
	    injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,

	    /**
	     * @param {object} injectedNamesToPlugins Map from names to plugin modules.
	     */
	    injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName
	  },

	  /**
	   * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.
	   *
	   * @param {object} inst The instance, which is the source of events.
	   * @param {string} registrationName Name of listener (e.g. `onClick`).
	   * @param {function} listener The callback to store.
	   */
	  putListener: function (inst, registrationName, listener) {
	    !(typeof listener === 'function') ?  false ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0;

	    var key = getDictionaryKey(inst);
	    var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});
	    bankForRegistrationName[key] = listener;

	    var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];
	    if (PluginModule && PluginModule.didPutListener) {
	      PluginModule.didPutListener(inst, registrationName, listener);
	    }
	  },

	  /**
	   * @param {object} inst The instance, which is the source of events.
	   * @param {string} registrationName Name of listener (e.g. `onClick`).
	   * @return {?function} The stored callback.
	   */
	  getListener: function (inst, registrationName) {
	    // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not
	    // live here; needs to be moved to a better place soon
	    var bankForRegistrationName = listenerBank[registrationName];
	    if (shouldPreventMouseEvent(registrationName, inst._currentElement.type, inst._currentElement.props)) {
	      return null;
	    }
	    var key = getDictionaryKey(inst);
	    return bankForRegistrationName && bankForRegistrationName[key];
	  },

	  /**
	   * Deletes a listener from the registration bank.
	   *
	   * @param {object} inst The instance, which is the source of events.
	   * @param {string} registrationName Name of listener (e.g. `onClick`).
	   */
	  deleteListener: function (inst, registrationName) {
	    var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];
	    if (PluginModule && PluginModule.willDeleteListener) {
	      PluginModule.willDeleteListener(inst, registrationName);
	    }

	    var bankForRegistrationName = listenerBank[registrationName];
	    // TODO: This should never be null -- when is it?
	    if (bankForRegistrationName) {
	      var key = getDictionaryKey(inst);
	      delete bankForRegistrationName[key];
	    }
	  },

	  /**
	   * Deletes all listeners for the DOM element with the supplied ID.
	   *
	   * @param {object} inst The instance, which is the source of events.
	   */
	  deleteAllListeners: function (inst) {
	    var key = getDictionaryKey(inst);
	    for (var registrationName in listenerBank) {
	      if (!listenerBank.hasOwnProperty(registrationName)) {
	        continue;
	      }

	      if (!listenerBank[registrationName][key]) {
	        continue;
	      }

	      var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];
	      if (PluginModule && PluginModule.willDeleteListener) {
	        PluginModule.willDeleteListener(inst, registrationName);
	      }

	      delete listenerBank[registrationName][key];
	    }
	  },

	  /**
	   * Allows registered plugins an opportunity to extract events from top-level
	   * native browser events.
	   *
	   * @return {*} An accumulation of synthetic events.
	   * @internal
	   */
	  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
	    var events;
	    var plugins = EventPluginRegistry.plugins;
	    for (var i = 0; i < plugins.length; i++) {
	      // Not every plugin in the ordering may be loaded at runtime.
	      var possiblePlugin = plugins[i];
	      if (possiblePlugin) {
	        var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);
	        if (extractedEvents) {
	          events = accumulateInto(events, extractedEvents);
	        }
	      }
	    }
	    return events;
	  },

	  /**
	   * Enqueues a synthetic event that should be dispatched when
	   * `processEventQueue` is invoked.
	   *
	   * @param {*} events An accumulation of synthetic events.
	   * @internal
	   */
	  enqueueEvents: function (events) {
	    if (events) {
	      eventQueue = accumulateInto(eventQueue, events);
	    }
	  },

	  /**
	   * Dispatches all synthetic events on the event queue.
	   *
	   * @internal
	   */
	  processEventQueue: function (simulated) {
	    // Set `eventQueue` to null before processing it so that we can tell if more
	    // events get enqueued while processing.
	    var processingEventQueue = eventQueue;
	    eventQueue = null;
	    if (simulated) {
	      forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);
	    } else {
	      forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);
	    }
	    !!eventQueue ?  false ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0;
	    // This would be a good time to rethrow if any of the event handlers threw.
	    ReactErrorUtils.rethrowCaughtError();
	  },

	  /**
	   * These are needed for tests only. Do not use!
	   */
	  __purge: function () {
	    listenerBank = {};
	  },

	  __getListenerBank: function () {
	    return listenerBank;
	  }
	};

	module.exports = EventPluginHub;

/***/ }),
/* 43 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 * 
	 */

	'use strict';

	var _prodInvariant = __webpack_require__(35);

	var invariant = __webpack_require__(12);

	/**
	 * Injectable ordering of event plugins.
	 */
	var eventPluginOrder = null;

	/**
	 * Injectable mapping from names to event plugin modules.
	 */
	var namesToPlugins = {};

	/**
	 * Recomputes the plugin list using the injected plugins and plugin ordering.
	 *
	 * @private
	 */
	function recomputePluginOrdering() {
	  if (!eventPluginOrder) {
	    // Wait until an `eventPluginOrder` is injected.
	    return;
	  }
	  for (var pluginName in namesToPlugins) {
	    var pluginModule = namesToPlugins[pluginName];
	    var pluginIndex = eventPluginOrder.indexOf(pluginName);
	    !(pluginIndex > -1) ?  false ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0;
	    if (EventPluginRegistry.plugins[pluginIndex]) {
	      continue;
	    }
	    !pluginModule.extractEvents ?  false ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0;
	    EventPluginRegistry.plugins[pluginIndex] = pluginModule;
	    var publishedEvents = pluginModule.eventTypes;
	    for (var eventName in publishedEvents) {
	      !publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName) ?  false ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0;
	    }
	  }
	}

	/**
	 * Publishes an event so that it can be dispatched by the supplied plugin.
	 *
	 * @param {object} dispatchConfig Dispatch configuration for the event.
	 * @param {object} PluginModule Plugin publishing the event.
	 * @return {boolean} True if the event was successfully published.
	 * @private
	 */
	function publishEventForPlugin(dispatchConfig, pluginModule, eventName) {
	  !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ?  false ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0;
	  EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;

	  var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;
	  if (phasedRegistrationNames) {
	    for (var phaseName in phasedRegistrationNames) {
	      if (phasedRegistrationNames.hasOwnProperty(phaseName)) {
	        var phasedRegistrationName = phasedRegistrationNames[phaseName];
	        publishRegistrationName(phasedRegistrationName, pluginModule, eventName);
	      }
	    }
	    return true;
	  } else if (dispatchConfig.registrationName) {
	    publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);
	    return true;
	  }
	  return false;
	}

	/**
	 * Publishes a registration name that is used to identify dispatched events and
	 * can be used with `EventPluginHub.putListener` to register listeners.
	 *
	 * @param {string} registrationName Registration name to add.
	 * @param {object} PluginModule Plugin publishing the event.
	 * @private
	 */
	function publishRegistrationName(registrationName, pluginModule, eventName) {
	  !!EventPluginRegistry.registrationNameModules[registrationName] ?  false ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0;
	  EventPluginRegistry.registrationNameModules[registrationName] = pluginModule;
	  EventPluginRegistry.registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies;

	  if (false) {
	    var lowerCasedName = registrationName.toLowerCase();
	    EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName;

	    if (registrationName === 'onDoubleClick') {
	      EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName;
	    }
	  }
	}

	/**
	 * Registers plugins so that they can extract and dispatch events.
	 *
	 * @see {EventPluginHub}
	 */
	var EventPluginRegistry = {
	  /**
	   * Ordered list of injected plugins.
	   */
	  plugins: [],

	  /**
	   * Mapping from event name to dispatch config
	   */
	  eventNameDispatchConfigs: {},

	  /**
	   * Mapping from registration name to plugin module
	   */
	  registrationNameModules: {},

	  /**
	   * Mapping from registration name to event name
	   */
	  registrationNameDependencies: {},

	  /**
	   * Mapping from lowercase registration names to the properly cased version,
	   * used to warn in the case of missing event handlers. Available
	   * only in __DEV__.
	   * @type {Object}
	   */
	  possibleRegistrationNames:  false ? {} : null,
	  // Trust the developer to only use possibleRegistrationNames in __DEV__

	  /**
	   * Injects an ordering of plugins (by plugin name). This allows the ordering
	   * to be decoupled from injection of the actual plugins so that ordering is
	   * always deterministic regardless of packaging, on-the-fly injection, etc.
	   *
	   * @param {array} InjectedEventPluginOrder
	   * @internal
	   * @see {EventPluginHub.injection.injectEventPluginOrder}
	   */
	  injectEventPluginOrder: function (injectedEventPluginOrder) {
	    !!eventPluginOrder ?  false ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0;
	    // Clone the ordering so it cannot be dynamically mutated.
	    eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder);
	    recomputePluginOrdering();
	  },

	  /**
	   * Injects plugins to be used by `EventPluginHub`. The plugin names must be
	   * in the ordering injected by `injectEventPluginOrder`.
	   *
	   * Plugins can be injected as part of page initialization or on-the-fly.
	   *
	   * @param {object} injectedNamesToPlugins Map from names to plugin modules.
	   * @internal
	   * @see {EventPluginHub.injection.injectEventPluginsByName}
	   */
	  injectEventPluginsByName: function (injectedNamesToPlugins) {
	    var isOrderingDirty = false;
	    for (var pluginName in injectedNamesToPlugins) {
	      if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {
	        continue;
	      }
	      var pluginModule = injectedNamesToPlugins[pluginName];
	      if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) {
	        !!namesToPlugins[pluginName] ?  false ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0;
	        namesToPlugins[pluginName] = pluginModule;
	        isOrderingDirty = true;
	      }
	    }
	    if (isOrderingDirty) {
	      recomputePluginOrdering();
	    }
	  },

	  /**
	   * Looks up the plugin for the supplied event.
	   *
	   * @param {object} event A synthetic event.
	   * @return {?object} The plugin that created the supplied event.
	   * @internal
	   */
	  getPluginModuleForEvent: function (event) {
	    var dispatchConfig = event.dispatchConfig;
	    if (dispatchConfig.registrationName) {
	      return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;
	    }
	    if (dispatchConfig.phasedRegistrationNames !== undefined) {
	      // pulling phasedRegistrationNames out of dispatchConfig helps Flow see
	      // that it is not undefined.
	      var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;

	      for (var phase in phasedRegistrationNames) {
	        if (!phasedRegistrationNames.hasOwnProperty(phase)) {
	          continue;
	        }
	        var pluginModule = EventPluginRegistry.registrationNameModules[phasedRegistrationNames[phase]];
	        if (pluginModule) {
	          return pluginModule;
	        }
	      }
	    }
	    return null;
	  },

	  /**
	   * Exposed for unit testing.
	   * @private
	   */
	  _resetEventPlugins: function () {
	    eventPluginOrder = null;
	    for (var pluginName in namesToPlugins) {
	      if (namesToPlugins.hasOwnProperty(pluginName)) {
	        delete namesToPlugins[pluginName];
	      }
	    }
	    EventPluginRegistry.plugins.length = 0;

	    var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;
	    for (var eventName in eventNameDispatchConfigs) {
	      if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {
	        delete eventNameDispatchConfigs[eventName];
	      }
	    }

	    var registrationNameModules = EventPluginRegistry.registrationNameModules;
	    for (var registrationName in registrationNameModules) {
	      if (registrationNameModules.hasOwnProperty(registrationName)) {
	        delete registrationNameModules[registrationName];
	      }
	    }

	    if (false) {
	      var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames;
	      for (var lowerCasedName in possibleRegistrationNames) {
	        if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) {
	          delete possibleRegistrationNames[lowerCasedName];
	        }
	      }
	    }
	  }
	};

	module.exports = EventPluginRegistry;

/***/ }),
/* 44 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2013-present, Facebook, Inc.
	 * All rights reserved.
	 *
	 * This source code is licensed under the BSD-style license found in the
	 * LICENSE file in the root directory of this source tree. An additional grant
	 * of patent rights can be found in the PATENTS file in the same directory.
	 *
	 */

	'use strict';

	var _prodInvariant = __webpack_require__(35);

	var ReactErrorUtils = __webpack_require__(45);

	var invariant = __webpack_require__(12);
	var warning = __webpack_require__(8);

	/**
	 * Injected dependencies:
	 */

	/**
	 * - `ComponentTree`: [required] Module that can convert between React instances
	 *   and actual node references.
	 */
	var ComponentTree;
	var TreeTraversal;
	var injection = {
	  injectComponentTree: function (Injected) {
	    ComponentTree = Injected;
	    if (false) {
	      process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0;
	    }
	  },
	  injectTreeTraversal: function (Injected) {
	    TreeTraversal = Injected;
	    if (false) {
	      process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0;
	    }
	  }
	};

	function isEndish(topLevelType) {
	  return topLevelType === 'topMouseUp' || topLevelType === 'topTouchEnd' || topLevelType === 'topTouchCancel';
	}

	function isMoveish(topLevelType) {
	  return topLevelType === 'topMouseMove' || topLevelType === 'topTouchMove';
	}
	function isStartish(topLevelType) {
	  return topLevelType === 'topMouseDown' || topLevelType === 'topTouchStart';
	}

	var validateEventDispatches;
	if (false) {
	  validateEventDispatches = function (event) {
	    var dispatchListeners = event._dispatchListeners;
	    var dispatchInstances = event._dispatchInstances;

	    var listenersIsArr = Array.isArray(dispatchListeners);
	    var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;

	    var instancesIsArr = Array.isArray(dispatchInstances);
	    var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;

	    process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0;
	  };
	}

	/**
	 * Dispatch the event to the listener.
	 * @param {SyntheticEvent} event SyntheticEvent to handle
	 * @param {boolean} simulated If the event is simulated (changes exn behavior)
	 * @param {function} listener Application-level callback
	 * @param {*} inst Internal component instance
	 */
	function executeDispatch(event, simulated, listener, inst) {
	  var type = event.type || 'unknown-event';
	  event.currentTarget = EventPluginUtils.getNodeFromInstance(inst);
	  if (simulated) {
	    ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event);
	  } else {
	    ReactErrorUtils.invokeGuardedCallback(type, listener, event);
	  }
	  event.currentTarget = null;
	}

	/**
	 * Standard/simple iteration through an event's collected dispatches.
	 */
	function executeDispatchesInOrder(event, simulated) {
	  var dispatchListeners = event._dispatchListeners;
	  var dispatchInstances = event._dispatchInstances;
	  if (false) {
	    validateEventDispatches(event);
	  }
	  if (Array.isArray(dispatchListeners)) {
	    for (var i = 0; i < dispatchListeners.length; i++) {
	      if (event.isPropagationStopped()) {
	        break;
	      }
	      // Listeners and Instances are two parallel arrays that are always in sync.
	      executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]);
	    }
	  } else if (dispatchListeners) {
	    executeDispatch(event, simulated, dispatchListeners, dispatchInstances);
	  }
	  event._dispatchListeners = null;
	  event._dispatchInstances = null;
	}

	/**
	 * Standard/simple iteration through an event's collected dispatches, but stops
	 * at the first dispatch execution returning true, and returns that id.
	 *
	 * @return {?string} id of the first dispatch execution who's listener returns
	 * true, o
Download .txt
gitextract_nu_8j6t6/

├── .babelrc
├── .github/
│   └── CONTRIBUTING.md
├── .gitignore
├── .storybook/
│   ├── SyncColorField.js
│   ├── addons.js
│   ├── config.js
│   └── report.js
├── .travis.yml
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── docs/
│   ├── build/
│   │   └── bundle.js
│   ├── components/
│   │   └── home/
│   │       ├── Home.js
│   │       ├── HomeDocumentation.js
│   │       └── HomeFeature.js
│   ├── documentation/
│   │   ├── 01-about.md
│   │   ├── 02-getting-started.md
│   │   ├── 02.01-install.md
│   │   ├── 02.02-include.md
│   │   ├── 03-api.md
│   │   ├── 03.01-color.md
│   │   ├── 03.02-onChange.md
│   │   ├── 03.03-onChangeComplete.md
│   │   ├── 03.04-individual.md
│   │   ├── 03.05-customStyles.md
│   │   ├── 04-create.md
│   │   ├── 04.01-parent.md
│   │   ├── 04.02-helpers.md
│   │   ├── 05-examples.md
│   │   └── index.js
│   ├── index.html
│   └── index.js
├── examples/
│   ├── basic/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       └── index.js
│   ├── basic-positioning/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       └── index.js
│   ├── basic-toggle-open-closed/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       └── index.js
│   ├── basic-with-react-hooks/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       └── index.js
│   ├── custom-picker/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       ├── MyPicker.js
│   │       └── index.js
│   ├── custom-pointer/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       ├── MyPicker.js
│   │       ├── MyPointer.js
│   │       └── index.js
│   ├── with-portals/
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public/
│   │   │   └── index.html
│   │   └── src/
│   │       ├── App.js
│   │       ├── Modal.js
│   │       ├── Portal.js
│   │       └── index.js
│   └── with-redux/
│       ├── .gitignore
│       ├── package.json
│       ├── public/
│       │   └── index.html
│       └── src/
│           ├── App.js
│           ├── index.js
│           └── reducer.js
├── package.json
├── scripts/
│   ├── docs-dist.js
│   ├── docs-server.js
│   ├── restore-original-babelrc.js
│   └── use-module-babelrc.js
├── src/
│   ├── Alpha.js
│   ├── Block.js
│   ├── Chrome.js
│   ├── Circle.js
│   ├── Compact.js
│   ├── Custom.js
│   ├── Github.js
│   ├── Google.js
│   ├── Hue.js
│   ├── Material.js
│   ├── Photoshop.js
│   ├── Sketch.js
│   ├── Slider.js
│   ├── Swatches.js
│   ├── Twitter.js
│   ├── components/
│   │   ├── alpha/
│   │   │   ├── Alpha.js
│   │   │   ├── AlphaPointer.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   └── spec.js
│   │   ├── block/
│   │   │   ├── Block.js
│   │   │   ├── BlockSwatches.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── chrome/
│   │   │   ├── Chrome.js
│   │   │   ├── ChromeFields.js
│   │   │   ├── ChromePointer.js
│   │   │   ├── ChromePointerCircle.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── circle/
│   │   │   ├── Circle.js
│   │   │   ├── CircleSwatch.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── common/
│   │   │   ├── Alpha.js
│   │   │   ├── Checkboard.js
│   │   │   ├── ColorWrap.js
│   │   │   ├── EditableInput.js
│   │   │   ├── Hue.js
│   │   │   ├── Raised.js
│   │   │   ├── Saturation.js
│   │   │   ├── Swatch.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── index.js
│   │   │   └── spec.js
│   │   ├── compact/
│   │   │   ├── Compact.js
│   │   │   ├── CompactColor.js
│   │   │   ├── CompactFields.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── github/
│   │   │   ├── Github.js
│   │   │   ├── GithubSwatch.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── google/
│   │   │   ├── Google.js
│   │   │   ├── GoogleFields.js
│   │   │   ├── GooglePointer.js
│   │   │   ├── GooglePointerCircle.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── hue/
│   │   │   ├── Hue.js
│   │   │   ├── HuePointer.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   └── spec.js
│   │   ├── material/
│   │   │   ├── Material.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── photoshop/
│   │   │   ├── Photoshop.js
│   │   │   ├── PhotoshopButton.js
│   │   │   ├── PhotoshopFields.js
│   │   │   ├── PhotoshopPointer.js
│   │   │   ├── PhotoshopPointerCircle.js
│   │   │   ├── PhotoshopPreviews.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── sketch/
│   │   │   ├── Sketch.js
│   │   │   ├── SketchFields.js
│   │   │   ├── SketchPresetColors.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   ├── slider/
│   │   │   ├── Slider.js
│   │   │   ├── SliderPointer.js
│   │   │   ├── SliderSwatch.js
│   │   │   ├── SliderSwatches.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   └── spec.js
│   │   ├── swatches/
│   │   │   ├── Swatches.js
│   │   │   ├── SwatchesColor.js
│   │   │   ├── SwatchesGroup.js
│   │   │   ├── __snapshots__/
│   │   │   │   └── spec.js.snap
│   │   │   ├── spec.js
│   │   │   └── story.js
│   │   └── twitter/
│   │       ├── Twitter.js
│   │       ├── __snapshots__/
│   │       │   └── spec.js.snap
│   │       ├── spec.js
│   │       └── story.js
│   ├── helpers/
│   │   ├── alpha.js
│   │   ├── checkboard.js
│   │   ├── color.js
│   │   ├── hue.js
│   │   ├── index.js
│   │   ├── interaction.js
│   │   ├── saturation.js
│   │   └── spec.js
│   └── index.js
└── webpack.config.js
Download .txt
SYMBOL INDEX (849 symbols across 18 files)

FILE: .storybook/SyncColorField.js
  class SyncColorField (line 3) | class SyncColorField extends React.Component {
    method constructor (line 4) | constructor(props) {
    method render (line 11) | render() {

FILE: .storybook/report.js
  constant THIS_STRING_SHOULDNT_MATCH (line 7) | const THIS_STRING_SHOULDNT_MATCH = 'THIS_STRING_SHOULDNT_MATCH'

FILE: docs/build/bundle.js
  function __webpack_require__ (line 6) | function __webpack_require__(moduleId) {
  function _interopRequireDefault (line 91) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function toObject (line 264) | function toObject(val) {
  function shouldUseNative (line 272) | function shouldUseNative() {
  function ReactComponent (line 373) | function ReactComponent(props, context, updater) {
  function ReactPureComponent (line 468) | function ReactPureComponent(props, context, updater) {
  function ComponentDummy (line 478) | function ComponentDummy() {}
  function reactProdInvariant (line 514) | function reactProdInvariant(code) {
  function warnNoop (line 552) | function warnNoop(publicInstance, callerName) {
  function makeEmptyFunction (line 721) | function makeEmptyFunction(arg) {
  function invariant (line 838) | function invariant(condition, format, a, b, c, d, e, f) {
  function escapeUserProvidedKey (line 956) | function escapeUserProvidedKey(text) {
  function ForEachBookKeeping (line 968) | function ForEachBookKeeping(forEachFunction, forEachContext) {
  function forEachSingleChild (line 980) | function forEachSingleChild(bookKeeping, child, name) {
  function forEachChildren (line 999) | function forEachChildren(children, forEachFunc, forEachContext) {
  function MapBookKeeping (line 1017) | function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {
  function mapSingleChildIntoContext (line 1033) | function mapSingleChildIntoContext(bookKeeping, child, childKey) {
  function mapIntoWithKeyPrefixInternal (line 1054) | function mapIntoWithKeyPrefixInternal(children, array, prefix, func, con...
  function mapChildren (line 1077) | function mapChildren(children, func, context) {
  function forEachSingleChildDummy (line 1086) | function forEachSingleChildDummy(traverseContext, child, name) {
  function countChildren (line 1099) | function countChildren(children, context) {
  function toArray (line 1109) | function toArray(children) {
  function hasValidRef (line 1162) | function hasValidRef(config) {
  function hasValidKey (line 1174) | function hasValidKey(config) {
  function defineKeyPropWarningGetter (line 1186) | function defineKeyPropWarningGetter(props, displayName) {
  function defineRefPropWarningGetter (line 1200) | function defineRefPropWarningGetter(props, displayName) {
  function getComponentKey (line 1578) | function getComponentKey(component, index) {
  function traverseAllChildrenImpl (line 1597) | function traverseAllChildrenImpl(children, nameSoFar, callback, traverse...
  function traverseAllChildren (line 1699) | function traverseAllChildren(children, callback, traverseContext) {
  function getIteratorFn (line 1745) | function getIteratorFn(maybeIterable) {
  function escape (line 1778) | function escape(key) {
  function unescape (line 1797) | function unescape(key) {
  function getIteratorFn (line 2081) | function getIteratorFn(maybeIterable) {
  function is (line 2164) | function is(x, y) {
  function PropTypeError (line 2184) | function PropTypeError(message) {
  function createChainableTypeChecker (line 2191) | function createChainableTypeChecker(validate) {
  function createPrimitiveTypeChecker (line 2251) | function createPrimitiveTypeChecker(expectedType) {
  function createAnyTypeChecker (line 2268) | function createAnyTypeChecker() {
  function createArrayOfTypeChecker (line 2272) | function createArrayOfTypeChecker(typeChecker) {
  function createElementTypeChecker (line 2293) | function createElementTypeChecker() {
  function createInstanceTypeChecker (line 2305) | function createInstanceTypeChecker(expectedClass) {
  function createEnumTypeChecker (line 2317) | function createEnumTypeChecker(expectedValues) {
  function createObjectOfTypeChecker (line 2337) | function createObjectOfTypeChecker(typeChecker) {
  function createUnionTypeChecker (line 2360) | function createUnionTypeChecker(arrayOfTypeCheckers) {
  function createNodeChecker (line 2393) | function createNodeChecker() {
  function createShapeTypeChecker (line 2403) | function createShapeTypeChecker(shapeTypes) {
  function isNode (line 2425) | function isNode(propValue) {
  function isSymbol (line 2472) | function isSymbol(propType, propValue) {
  function getPropType (line 2492) | function getPropType(propValue) {
  function getPreciseType (line 2511) | function getPreciseType(propValue) {
  function getPostfixForTypeWarning (line 2528) | function getPostfixForTypeWarning(value) {
  function getClassName (line 2544) | function getClassName(propValue) {
  function checkPropTypes (line 2611) | function checkPropTypes(typeSpecs, values, location, componentName, getS...
  function identity (line 2719) | function identity(fn) {
  function factory (line 2734) | function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {
  function onlyChild (line 3603) | function onlyChild(children) {
  function shouldPrecacheNode (line 3765) | function shouldPrecacheNode(node, nodeID) {
  function getRenderedHostOrTextFromComponent (line 3776) | function getRenderedHostOrTextFromComponent(component) {
  function precacheNode (line 3788) | function precacheNode(inst, node) {
  function uncacheNode (line 3794) | function uncacheNode(inst) {
  function precacheChildNodes (line 3816) | function precacheChildNodes(inst, node) {
  function getClosestInstanceFromNode (line 3849) | function getClosestInstanceFromNode(node) {
  function getInstanceFromNode (line 3883) | function getInstanceFromNode(node) {
  function getNodeFromInstance (line 3896) | function getNodeFromInstance(inst) {
  function checkMask (line 3955) | function checkMask(value, bitmask) {
  function inject (line 4208) | function inject() {
  function isPresto (line 4384) | function isPresto() {
  function isKeypressCommand (line 4432) | function isKeypressCommand(nativeEvent) {
  function getCompositionEventType (line 4444) | function getCompositionEventType(topLevelType) {
  function isFallbackCompositionStart (line 4463) | function isFallbackCompositionStart(topLevelType, nativeEvent) {
  function isFallbackCompositionEnd (line 4474) | function isFallbackCompositionEnd(topLevelType, nativeEvent) {
  function getDataFromCustomEvent (line 4502) | function getDataFromCustomEvent(nativeEvent) {
  function extractCompositionEvent (line 4516) | function extractCompositionEvent(topLevelType, targetInst, nativeEvent, ...
  function getNativeBeforeInputChars (line 4568) | function getNativeBeforeInputChars(topLevelType, nativeEvent) {
  function getFallbackBeforeInputChars (line 4622) | function getFallbackBeforeInputChars(topLevelType, nativeEvent) {
  function extractBeforeInputEvent (line 4676) | function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, ...
  function listenerAtPhase (line 4755) | function listenerAtPhase(inst, event, propagationPhase) {
  function accumulateDirectionalDispatches (line 4766) | function accumulateDirectionalDispatches(inst, phase, event) {
  function accumulateTwoPhaseDispatchesSingle (line 4784) | function accumulateTwoPhaseDispatchesSingle(event) {
  function accumulateTwoPhaseDispatchesSingleSkipTarget (line 4793) | function accumulateTwoPhaseDispatchesSingleSkipTarget(event) {
  function accumulateDispatches (line 4806) | function accumulateDispatches(inst, ignoredDirection, event) {
  function accumulateDirectDispatchesSingle (line 4822) | function accumulateDirectDispatchesSingle(event) {
  function accumulateTwoPhaseDispatches (line 4828) | function accumulateTwoPhaseDispatches(events) {
  function accumulateTwoPhaseDispatchesSkipTarget (line 4832) | function accumulateTwoPhaseDispatchesSkipTarget(events) {
  function accumulateEnterLeaveDispatches (line 4836) | function accumulateEnterLeaveDispatches(leave, enter, from, to) {
  function accumulateDirectDispatches (line 4840) | function accumulateDirectDispatches(events) {
  function isInteractive (line 4930) | function isInteractive(tag) {
  function shouldPreventMouseEvent (line 4934) | function shouldPreventMouseEvent(name, type, props) {
  function recomputePluginOrdering (line 5178) | function recomputePluginOrdering() {
  function publishEventForPlugin (line 5207) | function publishEventForPlugin(dispatchConfig, pluginModule, eventName) {
  function publishRegistrationName (line 5235) | function publishRegistrationName(registrationName, pluginModule, eventNa...
  function isEndish (line 5447) | function isEndish(topLevelType) {
  function isMoveish (line 5451) | function isMoveish(topLevelType) {
  function isStartish (line 5454) | function isStartish(topLevelType) {
  function executeDispatch (line 5481) | function executeDispatch(event, simulated, listener, inst) {
  function executeDispatchesInOrder (line 5495) | function executeDispatchesInOrder(event, simulated) {
  function executeDispatchesInOrderStopAtTrueImpl (line 5523) | function executeDispatchesInOrderStopAtTrueImpl(event) {
  function executeDispatchesInOrderStopAtTrue (line 5550) | function executeDispatchesInOrderStopAtTrue(event) {
  function executeDirectDispatch (line 5566) | function executeDirectDispatch(event) {
  function hasDispatches (line 5585) | function hasDispatches(event) {
  function invokeGuardedCallback (line 5656) | function invokeGuardedCallback(name, func, a) {
  function accumulateInto (line 5743) | function accumulateInto(current, next) {
  function forEachAccumulated (line 5796) | function forEachAccumulated(arr, cb, scope) {
  function FallbackCompositionState (line 5879) | function FallbackCompositionState(root) {
  function getTextContentAccessor (line 5973) | function getTextContentAccessor() {
  function SyntheticCompositionEvent (line 6016) | function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativ...
  function SyntheticEvent (line 6089) | function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeE...
  function getPooledWarningPropertyDefinition (line 6267) | function getPooledWarningPropertyDefinition(propName, getVal) {
  function SyntheticInputEvent (line 6327) | function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function createAndAccumulateChangeEvent (line 6373) | function createAndAccumulateChangeEvent(inst, nativeEvent, target) {
  function shouldUseChangeEvent (line 6388) | function shouldUseChangeEvent(elem) {
  function manualDispatchChangeEvent (line 6399) | function manualDispatchChangeEvent(nativeEvent) {
  function runEventInBatch (line 6416) | function runEventInBatch(event) {
  function startWatchingForChangeEventIE8 (line 6421) | function startWatchingForChangeEventIE8(target, targetInst) {
  function stopWatchingForChangeEventIE8 (line 6427) | function stopWatchingForChangeEventIE8() {
  function getInstIfValueChanged (line 6436) | function getInstIfValueChanged(targetInst, nativeEvent) {
  function getTargetInstForChangeEvent (line 6445) | function getTargetInstForChangeEvent(topLevelType, targetInst) {
  function handleEventsForChangeEventIE8 (line 6451) | function handleEventsForChangeEventIE8(topLevelType, target, targetInst) {
  function startWatchingForValueChange (line 6478) | function startWatchingForValueChange(target, targetInst) {
  function stopWatchingForValueChange (line 6488) | function stopWatchingForValueChange() {
  function handlePropertyChange (line 6502) | function handlePropertyChange(nativeEvent) {
  function handleEventsForInputEventPolyfill (line 6511) | function handleEventsForInputEventPolyfill(topLevelType, target, targetI...
  function getTargetInstForInputEventPolyfill (line 6534) | function getTargetInstForInputEventPolyfill(topLevelType, targetInst, na...
  function shouldUseClickEvent (line 6553) | function shouldUseClickEvent(elem) {
  function getTargetInstForClickEvent (line 6561) | function getTargetInstForClickEvent(topLevelType, targetInst, nativeEven...
  function getTargetInstForInputOrChangeEvent (line 6567) | function getTargetInstForInputOrChangeEvent(topLevelType, targetInst, na...
  function handleControlledInputBlur (line 6573) | function handleControlledInputBlur(inst, node) {
  function ensureInjected (line 6685) | function ensureInjected() {
  function ReactUpdatesFlushTransaction (line 6719) | function ReactUpdatesFlushTransaction() {
  function batchedUpdates (line 6749) | function batchedUpdates(callback, a, b, c, d, e) {
  function mountOrderComparator (line 6761) | function mountOrderComparator(c1, c2) {
  function runBatchedUpdates (line 6765) | function runBatchedUpdates(transaction) {
  function enqueueUpdate (line 6844) | function enqueueUpdate(component) {
  function asap (line 6868) | function asap(callback, context) {
  function _classCallCheck (line 6925) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function CallbackQueue (line 6944) | function CallbackQueue(arg) {
  function attachRefs (line 7080) | function attachRefs() {
  function attachRef (line 7246) | function attachRef(ref, component, owner) {
  function detachRef (line 7255) | function detachRef(ref, component, owner) {
  function isValidOwner (line 7344) | function isValidOwner(object) {
  function isCheckable (line 7693) | function isCheckable(elem) {
  function getTracker (line 7699) | function getTracker(inst) {
  function attachTracker (line 7703) | function attachTracker(inst, tracker) {
  function detachTracker (line 7707) | function detachTracker(inst) {
  function getValueFromNode (line 7711) | function getValueFromNode(node) {
  function getEventTarget (line 7826) | function getEventTarget(nativeEvent) {
  function isEventSupported (line 7881) | function isEventSupported(eventNameSuffix, capture) {
  function isTextInputElement (line 7944) | function isTextInputElement(elem) {
  function SyntheticMouseEvent (line 8160) | function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function SyntheticUIEvent (line 8223) | function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, n...
  function modifierStateGetter (line 8291) | function modifierStateGetter(keyArg) {
  function getEventModifierState (line 8301) | function getEventModifierState(nativeEvent) {
  function getNodeAfter (line 8604) | function getNodeAfter(parentNode, node) {
  function insertLazyTreeChildAt (line 8628) | function insertLazyTreeChildAt(parentNode, childTree, referenceNode) {
  function moveChild (line 8632) | function moveChild(parentNode, childNode, referenceNode) {
  function removeChild (line 8640) | function removeChild(parentNode, childNode) {
  function moveDelimitedText (line 8650) | function moveDelimitedText(parentNode, openingComment, closingComment, r...
  function removeDelimitedText (line 8662) | function removeDelimitedText(parentNode, startNode, closingComment) {
  function replaceDelimitedText (line 8674) | function replaceDelimitedText(openingComment, closingComment, stringText) {
  function insertTreeChildren (line 8847) | function insertTreeChildren(tree) {
  function replaceChildWithTree (line 8880) | function replaceChildWithTree(oldNode, newTree) {
  function queueChild (line 8885) | function queueChild(parentTree, childTree) {
  function queueHTML (line 8893) | function queueHTML(tree, html) {
  function queueText (line 8901) | function queueText(tree, text) {
  function toString (line 8909) | function toString() {
  function DOMLazyTree (line 8913) | function DOMLazyTree(node) {
  function escapeHtml (line 9206) | function escapeHtml(string) {
  function escapeTextContentForBrowser (line 9263) | function escapeTextContentForBrowser(text) {
  function getNodeName (line 9366) | function getNodeName(markup) {
  function createNodesFromMarkup (line 9381) | function createNodesFromMarkup(markup, handleScript) {
  function toArray (line 9441) | function toArray(obj) {
  function hasArrayNature (line 9489) | function hasArrayNature(obj) {
  function createArrayFromMixed (line 9532) | function createArrayFromMixed(obj) {
  function getMarkupWrap (line 9625) | function getMarkupWrap(nodeName) {
  function getDeclarationErrorAddendum (line 9749) | function getDeclarationErrorAddendum(internalInstance) {
  function friendlyStringify (line 9762) | function friendlyStringify(obj) {
  function checkAndWarnForMutatedStyle (line 9788) | function checkAndWarnForMutatedStyle(style1, style2, component) {
  function assertValidProps (line 9818) | function assertValidProps(component, props) {
  function enqueuePutListener (line 9838) | function enqueuePutListener(inst, registrationName, listener, transactio...
  function putListener (line 9858) | function putListener() {
  function inputPostMount (line 9863) | function inputPostMount() {
  function textareaPostMount (line 9868) | function textareaPostMount() {
  function optionPostMount (line 9873) | function optionPostMount() {
  function trackInputValue (line 9935) | function trackInputValue() {
  function trapBubbledEventsLocal (line 9939) | function trapBubbledEventsLocal() {
  function postUpdateSelectWrapper (line 9979) | function postUpdateSelectWrapper() {
  function validateDangerousTag (line 10026) | function validateDangerousTag(tag) {
  function isCustomComponent (line 10033) | function isCustomComponent(tagName, props) {
  function ReactDOMComponent (line 10053) | function ReactDOMComponent(element) {
  function focusNode (line 10742) | function focusNode(node) {
  function prefixKey (line 11043) | function prefixKey(prefix, key) {
  function camelizeStyleName (line 11168) | function camelizeStyleName(string) {
  function camelize (line 11202) | function camelize(string) {
  function dangerousStyleValue (line 11242) | function dangerousStyleValue(name, value, component, isCustomProperty) {
  function hyphenateStyleName (line 11330) | function hyphenateStyleName(string) {
  function hyphenate (line 11367) | function hyphenate(string) {
  function memoizeStringOnly (line 11395) | function memoizeStringOnly(callback) {
  function isAttributeNameSafe (line 11434) | function isAttributeNameSafe(attributeName) {
  function shouldIgnoreValue (line 11450) | function shouldIgnoreValue(propertyInfo, value) {
  function quoteAttributeValueForBrowser (line 11670) | function quoteAttributeValueForBrowser(value) {
  function getListeningForDocument (line 11836) | function getListeningForDocument(mountAt) {
  function runEventQueueInBatch (line 12022) | function runEventQueueInBatch(events) {
  function makePrefixMap (line 12065) | function makePrefixMap(styleProp, eventName) {
  function getVendorPrefixedEventName (line 12125) | function getVendorPrefixedEventName(eventName) {
  function forceUpdateIfMounted (line 12179) | function forceUpdateIfMounted() {
  function isControlled (line 12186) | function isControlled(props) {
  function _handleChange (line 12386) | function _handleChange(event) {
  function _assertSingleLink (line 12473) | function _assertSingleLink(inputProps) {
  function _assertValueLink (line 12476) | function _assertValueLink(inputProps) {
  function _assertCheckedLink (line 12481) | function _assertCheckedLink(inputProps) {
  function getDeclarationErrorAddendum (line 12503) | function getDeclarationErrorAddendum(owner) {
  function flattenChildren (line 12624) | function flattenChildren(children) {
  function updateOptionsIfPendingUpdateAndMounted (line 12752) | function updateOptionsIfPendingUpdateAndMounted() {
  function getDeclarationErrorAddendum (line 12765) | function getDeclarationErrorAddendum(owner) {
  function checkSelectPropTypes (line 12781) | function checkSelectPropTypes(inst, props) {
  function updateOptions (line 12810) | function updateOptions(inst, multiple, propValue) {
  function _handleChange (line 12916) | function _handleChange(event) {
  function forceUpdateIfMounted (line 12958) | function forceUpdateIfMounted() {
  function _handleChange (line 13084) | function _handleChange(event) {
  function makeInsertMarkup (line 13130) | function makeInsertMarkup(markup, afterNode, toIndex) {
  function makeMove (line 13149) | function makeMove(child, afterNode, toIndex) {
  function makeRemove (line 13167) | function makeRemove(child, node) {
  function makeSetMarkup (line 13185) | function makeSetMarkup(markup) {
  function makeTextContent (line 13203) | function makeTextContent(textContent) {
  function enqueue (line 13219) | function enqueue(queue, update) {
  function processQueue (line 13232) | function processQueue(inst, updateQueue) {
  function instantiateChild (line 13676) | function instantiateChild(childInstances, child, name, selfDebugID) {
  function defaultSetTimout (line 13814) | function defaultSetTimout() {
  function defaultClearTimeout (line 13817) | function defaultClearTimeout () {
  function runTimeout (line 13840) | function runTimeout(fun) {
  function runClearTimeout (line 13865) | function runClearTimeout(marker) {
  function cleanUpNextTick (line 13897) | function cleanUpNextTick() {
  function drainQueue (line 13912) | function drainQueue() {
  function Item (line 13950) | function Item(fun, array) {
  function noop (line 13964) | function noop() {}
  function getDeclarationErrorAddendum (line 14021) | function getDeclarationErrorAddendum(owner) {
  function isInternalComponentType (line 14038) | function isInternalComponentType(type) {
  function instantiateReactComponent (line 14050) | function instantiateReactComponent(node, shouldHaveDebugID) {
  function StatelessComponent (line 14166) | function StatelessComponent(Component) {}
  function warnIfInvalidElement (line 14174) | function warnIfInvalidElement(Component, element) {
  function shouldConstruct (line 14181) | function shouldConstruct(Component) {
  function isPureComponent (line 14185) | function isPureComponent(Component) {
  function measureLifeCyclePerf (line 14190) | function measureLifeCyclePerf(fn, debugID, timerType) {
  function is (line 15096) | function is(x, y) {
  function shallowEqual (line 15114) | function shallowEqual(objA, objB) {
  function shouldUpdateReactComponent (line 15170) | function shouldUpdateReactComponent(prevElement, nextElement) {
  function createInternalComponent (line 15264) | function createInternalComponent(element) {
  function createInstanceForText (line 15273) | function createInstanceForText(text) {
  function isTextComponent (line 15281) | function isTextComponent(component) {
  function getNextDebugID (line 15313) | function getNextDebugID() {
  function getComponentKey (line 15370) | function getComponentKey(component, index) {
  function traverseAllChildrenImpl (line 15389) | function traverseAllChildrenImpl(children, nameSoFar, callback, traverse...
  function traverseAllChildren (line 15491) | function traverseAllChildren(children, callback, traverseContext) {
  function isNative (line 15529) | function isNative(fn) {
  function purgeDeep (line 15638) | function purgeDeep(id) {
  function describeComponentFrame (line 15648) | function describeComponentFrame(name, source, ownerName) {
  function getDisplayName (line 15652) | function getDisplayName(element) {
  function describeID (line 15664) | function describeID(id) {
  function flattenSingleChildIntoContext (line 15926) | function flattenSingleChildIntoContext(traverseContext, child, name, sel...
  function flattenChildren (line 15950) | function flattenChildren(children, selfDebugID) {
  function ReactServerRenderingTransaction (line 16014) | function ReactServerRenderingTransaction(renderToStaticMarkup) {
  function _classCallCheck (line 16080) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function warnNoop (line 16086) | function warnNoop(publicInstance, callerName) {
  function ReactServerUpdateQueue (line 16102) | function ReactServerUpdateQueue(transaction) {
  function enqueueUpdate (line 16232) | function enqueueUpdate(internalInstance) {
  function formatUnexpectedArgument (line 16236) | function formatUnexpectedArgument(arg) {
  function getInternalInstanceReadyForUpdate (line 16249) | function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
  function getLowestCommonAncestor (line 16907) | function getLowestCommonAncestor(instA, instB) {
  function isAncestor (line 16947) | function isAncestor(instA, instB) {
  function getParentInstance (line 16963) | function getParentInstance(inst) {
  function traverseTwoPhase (line 16972) | function traverseTwoPhase(inst, fn, arg) {
  function traverseEnterLeave (line 16994) | function traverseEnterLeave(from, to, fn, argFrom, argTo) {
  function ReactDefaultBatchingStrategyTransaction (line 17226) | function ReactDefaultBatchingStrategyTransaction() {
  function findParent (line 17293) | function findParent(inst) {
  function TopLevelCallbackBookKeeping (line 17306) | function TopLevelCallbackBookKeeping(topLevelType, nativeEvent) {
  function handleTopLevelImpl (line 17320) | function handleTopLevelImpl(bookKeeping) {
  function scrollValueMonitor (line 17340) | function scrollValueMonitor(cb) {
  function getUnboundedScrollPosition (line 17536) | function getUnboundedScrollPosition(scrollable) {
  function ReactReconcileTransaction (line 17704) | function ReactReconcileTransaction(useCreateElement) {
  function isInDocument (line 17793) | function isInDocument(node) {
  function isCollapsed (line 17924) | function isCollapsed(anchorNode, anchorOffset, focusNode, focusOffset) {
  function getIEOffsets (line 17942) | function getIEOffsets(node) {
  function getModernOffsets (line 17965) | function getModernOffsets(node) {
  function setIEOffsets (line 18027) | function setIEOffsets(node, offsets) {
  function setModernOffsets (line 18061) | function setModernOffsets(node, offsets) {
  function getLeafNode (line 18137) | function getLeafNode(node) {
  function getSiblingNode (line 18151) | function getSiblingNode(node) {
  function getNodeForCharacterOffset (line 18167) | function getNodeForCharacterOffset(root, offset) {
  function containsNode (line 18216) | function containsNode(outerNode, innerNode) {
  function isTextNode (line 18259) | function isTextNode(object) {
  function isNode (line 18286) | function isNode(object) {
  function getActiveElement (line 18323) | function getActiveElement(doc) /*?DOMElement*/{
  function getSelection (line 18699) | function getSelection(node) {
  function constructSelectEvent (line 18730) | function constructSelectEvent(nativeEvent, nativeEventTarget) {
  function getDictionaryKey (line 18911) | function getDictionaryKey(inst) {
  function isInteractive (line 18917) | function isInteractive(tag) {
  function SyntheticAnimationEvent (line 19100) | function SyntheticAnimationEvent(dispatchConfig, dispatchMarker, nativeE...
  function SyntheticClipboardEvent (line 19142) | function SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeE...
  function SyntheticFocusEvent (line 19182) | function SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function SyntheticKeyboardEvent (line 19270) | function SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEv...
  function getEventCharCode (line 19305) | function getEventCharCode(nativeEvent) {
  function getEventKey (line 19417) | function getEventKey(nativeEvent) {
  function SyntheticDragEvent (line 19480) | function SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent,...
  function SyntheticTouchEvent (line 19529) | function SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function SyntheticTransitionEvent (line 19572) | function SyntheticTransitionEvent(dispatchConfig, dispatchMarker, native...
  function SyntheticWheelEvent (line 19627) | function SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent...
  function firstDifferenceIndex (line 19691) | function firstDifferenceIndex(string1, string2) {
  function getReactRootElementInContainer (line 19706) | function getReactRootElementInContainer(container) {
  function internalGetID (line 19718) | function internalGetID(node) {
  function mountComponentIntoNode (line 19733) | function mountComponentIntoNode(wrapperInstance, container, transaction,...
  function batchedMountComponentIntoNode (line 19760) | function batchedMountComponentIntoNode(componentInstance, container, sho...
  function unmountComponentFromNode (line 19777) | function unmountComponentFromNode(instance, container, safely) {
  function hasNonRootReactChild (line 19806) | function hasNonRootReactChild(container) {
  function nodeIsRenderedByOtherInstance (line 19822) | function nodeIsRenderedByOtherInstance(container) {
  function isValidContainer (line 19834) | function isValidContainer(node) {
  function isReactNode (line 19845) | function isReactNode(node) {
  function getHostRootInstanceInContainer (line 19849) | function getHostRootInstanceInContainer(container) {
  function getTopLevelWrapperInContainer (line 19855) | function getTopLevelWrapperInContainer(container) {
  function ReactDOMContainerInfo (line 20197) | function ReactDOMContainerInfo(topLevelWrapper, node) {
  function adler32 (line 20315) | function adler32(data) {
  function findDOMNode (line 20375) | function findDOMNode(componentOrElement) {
  function getHostComponentFromComposite (line 20423) | function getHostComponentFromComposite(inst) {
  function defineProperties (line 20469) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 20487) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 20489) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 20491) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 20493) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Home (line 20498) | function Home() {
  function _interopRequireDefault (line 20581) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 20626) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function isString (line 20681) | function isString(value) {
  function baseGetTag (line 20711) | function baseGetTag(value) {
  function getRawTag (line 20790) | function getRawTag(value) {
  function objectToString (line 20834) | function objectToString(value) {
  function isObjectLike (line 20901) | function isObjectLike(value) {
  function forOwn (line 20943) | function forOwn(object, iteratee) {
  function baseForOwn (line 20965) | function baseForOwn(object, iteratee) {
  function createBaseFor (line 21005) | function createBaseFor(fromRight) {
  function keys (line 21061) | function keys(object) {
  function arrayLikeKeys (line 21093) | function arrayLikeKeys(value, inherited) {
  function baseTimes (line 21136) | function baseTimes(n, iteratee) {
  function baseIsArguments (line 21208) | function baseIsArguments(value) {
  function stubFalse (line 21293) | function stubFalse() {
  function isIndex (line 21318) | function isIndex(value, length) {
  function baseIsTypedArray (line 21419) | function baseIsTypedArray(value) {
  function isLength (line 21460) | function isLength(value) {
  function baseUnary (line 21479) | function baseUnary(func) {
  function baseKeys (line 21537) | function baseKeys(object) {
  function isPrototype (line 21567) | function isPrototype(value) {
  function overArg (line 21601) | function overArg(func, transform) {
  function isArrayLike (line 21642) | function isArrayLike(value) {
  function isFunction (line 21679) | function isFunction(value) {
  function isObject (line 21721) | function isObject(value) {
  function castFunction (line 21742) | function castFunction(value) {
  function identity (line 21769) | function identity(value) {
  function isPlainObject (line 21828) | function isPlainObject(value) {
  function map (line 21907) | function map(collection, iteratee) {
  function arrayMap (line 21928) | function arrayMap(array, iteratee) {
  function baseIteratee (line 21959) | function baseIteratee(value) {
  function baseMatches (line 21994) | function baseMatches(source) {
  function baseIsMatch (line 22028) | function baseIsMatch(object, source, matchData, customizer) {
  function Stack (line 22093) | function Stack(entries) {
  function ListCache (line 22125) | function ListCache(entries) {
  function listCacheClear (line 22157) | function listCacheClear() {
  function listCacheDelete (line 22186) | function listCacheDelete(key) {
  function assocIndexOf (line 22220) | function assocIndexOf(array, key) {
  function eq (line 22269) | function eq(value, other) {
  function listCacheGet (line 22291) | function listCacheGet(key) {
  function listCacheHas (line 22316) | function listCacheHas(key) {
  function listCacheSet (line 22339) | function listCacheSet(key, value) {
  function stackClear (line 22368) | function stackClear() {
  function stackDelete (line 22389) | function stackDelete(key) {
  function stackGet (line 22413) | function stackGet(key) {
  function stackHas (line 22433) | function stackHas(key) {
  function stackSet (line 22461) | function stackSet(key, value) {
  function getNative (line 22508) | function getNative(object, key) {
  function baseIsNative (line 22558) | function baseIsNative(value) {
  function isMasked (line 22588) | function isMasked(func) {
  function toSource (line 22624) | function toSource(func) {
  function getValue (line 22651) | function getValue(object, key) {
  function MapCache (line 22675) | function MapCache(entries) {
  function mapCacheClear (line 22711) | function mapCacheClear() {
  function Hash (line 22740) | function Hash(entries) {
  function hashClear (line 22774) | function hashClear() {
  function hashDelete (line 22808) | function hashDelete(key) {
  function hashGet (line 22841) | function hashGet(key) {
  function hashHas (line 22874) | function hashHas(key) {
  function hashSet (line 22901) | function hashSet(key, value) {
  function mapCacheDelete (line 22926) | function mapCacheDelete(key) {
  function getMapData (line 22949) | function getMapData(map, key) {
  function isKeyable (line 22970) | function isKeyable(value) {
  function mapCacheGet (line 22995) | function mapCacheGet(key) {
  function mapCacheHas (line 23017) | function mapCacheHas(key) {
  function mapCacheSet (line 23040) | function mapCacheSet(key, value) {
  function baseIsEqual (line 23073) | function baseIsEqual(value, other, bitmask, customizer, stack) {
  function baseIsEqualDeep (line 23127) | function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, ...
  function equalArrays (line 23200) | function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
  function SetCache (line 23280) | function SetCache(values) {
  function setCacheAdd (line 23314) | function setCacheAdd(value) {
  function setCacheHas (line 23335) | function setCacheHas(value) {
  function arraySome (line 23356) | function arraySome(array, predicate) {
  function cacheHas (line 23383) | function cacheHas(cache, key) {
  function equalByTag (line 23440) | function equalByTag(object, other, tag, bitmask, customizer, equalFunc, ...
  function mapToArray (line 23531) | function mapToArray(map) {
  function setToArray (line 23555) | function setToArray(set) {
  function equalObjects (line 23596) | function equalObjects(object, other, bitmask, customizer, equalFunc, sta...
  function getAllKeys (line 23678) | function getAllKeys(object) {
  function baseGetAllKeys (line 23703) | function baseGetAllKeys(object, keysFunc, symbolsFunc) {
  function arrayPush (line 23723) | function arrayPush(array, values) {
  function arrayFilter (line 23786) | function arrayFilter(array, predicate) {
  function stubArray (line 23826) | function stubArray() {
  function getMatchData (line 23963) | function getMatchData(object) {
  function isStrictComparable (line 23993) | function isStrictComparable(value) {
  function matchesStrictComparable (line 24013) | function matchesStrictComparable(key, srcValue) {
  function baseMatchesProperty (line 24050) | function baseMatchesProperty(path, srcValue) {
  function get (line 24096) | function get(object, path, defaultValue) {
  function baseGet (line 24119) | function baseGet(object, path) {
  function castPath (line 24151) | function castPath(value, object) {
  function isKey (line 24180) | function isKey(value, object) {
  function isSymbol (line 24223) | function isSymbol(value) {
  function memoizeCapped (line 24282) | function memoizeCapped(func) {
  function memoize (line 24350) | function memoize(func, resolver) {
  function toString (line 24403) | function toString(value) {
  function baseToString (line 24434) | function baseToString(value) {
  function toKey (line 24469) | function toKey(value) {
  function hasIn (line 24513) | function hasIn(object, path) {
  function baseHasIn (line 24532) | function baseHasIn(object, key) {
  function hasPath (line 24559) | function hasPath(object, path, hasFunc) {
  function property (line 24615) | function property(path) {
  function baseProperty (line 24633) | function baseProperty(key) {
  function basePropertyDeep (line 24655) | function basePropertyDeep(path) {
  function baseMap (line 24679) | function baseMap(collection, iteratee) {
  function createBaseEach (line 24726) | function createBaseEach(eachFunc, fromRight) {
  function _interopRequireDefault (line 24771) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function cloneDeep (line 24824) | function cloneDeep(value) {
  function baseClone (line 24921) | function baseClone(value, bitmask, customizer, key, object, stack) {
  function arrayEach (line 25003) | function arrayEach(array, iteratee) {
  function assignValue (line 25041) | function assignValue(object, key, value) {
  function baseAssignValue (line 25067) | function baseAssignValue(object, key, value) {
  function baseAssign (line 25116) | function baseAssign(object, source) {
  function copyObject (line 25140) | function copyObject(source, props, object, customizer) {
  function baseAssignIn (line 25185) | function baseAssignIn(object, source) {
  function keysIn (line 25223) | function keysIn(object) {
  function baseKeysIn (line 25251) | function baseKeysIn(object) {
  function nativeKeysIn (line 25282) | function nativeKeysIn(object) {
  function cloneBuffer (line 25322) | function cloneBuffer(buffer, isDeep) {
  function copyArray (line 25349) | function copyArray(source, array) {
  function copySymbols (line 25378) | function copySymbols(source, object) {
  function copySymbolsIn (line 25400) | function copySymbolsIn(source, object) {
  function getAllKeysIn (line 25454) | function getAllKeysIn(object) {
  function initCloneArray (line 25478) | function initCloneArray(array) {
  function initCloneByTag (line 25540) | function initCloneByTag(object, tag, cloneFunc, isDeep) {
  function cloneArrayBuffer (line 25592) | function cloneArrayBuffer(arrayBuffer) {
  function cloneDataView (line 25615) | function cloneDataView(dataView, isDeep) {
  function cloneMap (line 25643) | function cloneMap(map, isDeep, cloneFunc) {
  function addMapEntry (line 25663) | function addMapEntry(map, pair) {
  function arrayReduce (line 25688) | function arrayReduce(array, iteratee, accumulator, initAccum) {
  function cloneRegExp (line 25718) | function cloneRegExp(regexp) {
  function cloneSet (line 25747) | function cloneSet(set, isDeep, cloneFunc) {
  function addSetEntry (line 25767) | function addSetEntry(set, value) {
  function cloneSymbol (line 25793) | function cloneSymbol(symbol) {
  function cloneTypedArray (line 25814) | function cloneTypedArray(typedArray, isDeep) {
  function initCloneObject (line 25837) | function initCloneObject(object) {
  function object (line 25864) | function object() {}
  function _interopRequireDefault (line 25899) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 26029) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 26031) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 26033) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 26035) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Hover (line 26043) | function Hover() {
  function _interopRequireDefault (line 26090) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 26092) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 26094) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 26096) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Active (line 26104) | function Active() {
  function defineProperties (line 26172) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 26190) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 26192) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 26194) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 26196) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HomeFeature (line 26201) | function HomeFeature() {
  function _interopRequireDefault (line 26800) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 26831) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 26954) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function defineProperties (line 26969) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireWildcard (line 26987) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function _interopRequireDefault (line 26989) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 26991) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 26993) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 26995) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Alpha (line 27000) | function Alpha() {
  function calculateChange (line 27128) | function calculateChange(e, skip, props, container) {
  function _interopRequireWildcard (line 27202) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function _interopRequireDefault (line 27204) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function render (line 27250) | function render(c1, c2, size, serverCanvas) {
  function get (line 27266) | function get(c1, c2, size, serverCanvas) {
  function defineProperties (line 27288) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 27298) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _defineProperty (line 27300) | function _defineProperty(obj, key, value) { if (key in obj) { Object.def...
  function _classCallCheck (line 27302) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 27304) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 27306) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function EditableInput (line 27311) | function EditableInput(props) {
  function defineProperties (line 27472) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireWildcard (line 27486) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function _interopRequireDefault (line 27488) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 27490) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 27492) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 27494) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Hue (line 27499) | function Hue() {
  function calculateChange (line 27611) | function calculateChange(e, skip, props, container) {
  function defineProperties (line 27675) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireWildcard (line 27693) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function _interopRequireDefault (line 27695) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 27697) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 27699) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 27701) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Saturation (line 27706) | function Saturation(props) {
  function throttle (line 27874) | function throttle(func, wait, options) {
  function debounce (line 27964) | function debounce(func, wait, options) {
  function toNumber (line 28166) | function toNumber(value) {
  function calculateChange (line 28200) | function calculateChange(e, skip, props, container) {
  function defineProperties (line 28244) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 28258) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 28260) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 28262) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 28264) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function ColorPicker (line 28270) | function ColorPicker(props) {
  function _interopRequireDefault (line 28341) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function forEach (line 28436) | function forEach(collection, iteratee) {
  function tinycolor (line 28465) | function tinycolor(color, opts) {
  function inputToRGB (line 28749) | function inputToRGB(color) {
  function rgbToRgb (line 28810) | function rgbToRgb(r, g, b){
  function rgbToHsl (line 28822) | function rgbToHsl(r, g, b) {
  function hslToRgb (line 28853) | function hslToRgb(h, s, l) {
  function rgbToHsv (line 28887) | function rgbToHsv(r, g, b) {
  function hsvToRgb (line 28917) | function hsvToRgb(h, s, v) {
  function rgbToHex (line 28940) | function rgbToHex(r, g, b, allow3Char) {
  function rgbaToHex (line 28959) | function rgbaToHex(r, g, b, a) {
  function desaturate (line 28991) | function desaturate(color, amount) {
  function saturate (line 28999) | function saturate(color, amount) {
  function greyscale (line 29007) | function greyscale(color) {
  function lighten (line 29011) | function lighten (color, amount) {
  function brighten (line 29019) | function brighten(color, amount) {
  function darken (line 29028) | function darken (color, amount) {
  function spin (line 29038) | function spin(color, amount) {
  function complement (line 29050) | function complement(color) {
  function triad (line 29056) | function triad(color) {
  function tetrad (line 29066) | function tetrad(color) {
  function splitcomplement (line 29077) | function splitcomplement(color) {
  function analogous (line 29087) | function analogous(color, results, slices) {
  function monochromatic (line 29102) | function monochromatic(color, results) {
  function flip (line 29401) | function flip(o) {
  function boundAlpha (line 29412) | function boundAlpha(a) {
  function bound01 (line 29423) | function bound01(n, max) {
  function clamp01 (line 29444) | function clamp01(val) {
  function parseIntFromHex (line 29449) | function parseIntFromHex(val) {
  function isOnePointZero (line 29455) | function isOnePointZero(n) {
  function isPercentage (line 29460) | function isPercentage(n) {
  function pad2 (line 29465) | function pad2(c) {
  function convertToPercentage (line 29470) | function convertToPercentage(n, multiplier) {
  function convertDecimalToHex (line 29480) | function convertDecimalToHex(d) {
  function convertHexToDecimal (line 29484) | function convertHexToDecimal(h) {
  function stringInputToObject (line 29521) | function stringInputToObject(color) {
  function validateWCAG2Parms (line 29585) | function validateWCAG2Parms(parms) {
  function _interopRequireDefault (line 29641) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 29723) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 29725) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 29727) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 29729) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Focus (line 29737) | function Focus() {
  function _interopRequireDefault (line 29784) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 29841) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 29976) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireWildcard (line 30056) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function _interopRequireDefault (line 30058) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 30149) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 30242) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function defineProperties (line 30415) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 30431) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 30433) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 30435) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 30437) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function ChromeFields (line 30442) | function ChromeFields() {
  function _interopRequireDefault (line 30770) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 30810) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 30869) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 30948) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function defineProperties (line 30978) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 30992) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 30994) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 30996) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 30998) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Raised (line 31003) | function Raised() {
  function shim (line 31157) | function shim(props, propName, componentName, location, propFullName, se...
  function getShim (line 31170) | function getShim() {
  function sliceIterator (line 31213) | function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = ...
  function defineProperties (line 31215) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 31225) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 31227) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 31229) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 31231) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Tile (line 31236) | function Tile() {
  function defineProperties (line 31341) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 31363) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 31365) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 31367) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 31369) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Tabs (line 31382) | function Tabs(props) {
  function defineProperties (line 31608) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 31622) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 31624) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 31626) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 31628) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Tab (line 31633) | function Tab() {
  function defineProperties (line 31711) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 31721) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 31723) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 31725) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 31727) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Link (line 31732) | function Link() {
  function _interopRequireDefault (line 31807) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 31891) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 32037) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 32161) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 32224) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 32292) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 32347) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function defineProperties (line 32499) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 32531) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 32533) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 32535) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 32537) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Photoshop (line 32542) | function Photoshop(props) {
  function _interopRequireDefault (line 32711) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 32903) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 32949) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 33029) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 33088) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 33173) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 33352) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 33529) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 33631) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 33700) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 33803) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 33873) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireWildcard (line 33933) | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { ret...
  function _interopRequireDefault (line 33935) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 34035) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 34094) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 34210) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _interopRequireDefault (line 34382) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function defineProperties (line 34406) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 34416) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 34418) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 34420) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 34422) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Container (line 34427) | function Container() {
  function defineProperties (line 34474) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 34484) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 34486) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 34488) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 34490) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Grid (line 34495) | function Grid() {
  function _interopRequireDefault (line 34655) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function defineProperties (line 34676) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 34686) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 34688) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 34690) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 34692) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Move (line 34697) | function Move() {
  function defineProperties (line 34761) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 34787) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 34789) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 34791) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 34793) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function HomeDocumentation (line 34798) | function HomeDocumentation() {
  function _interopRequireDefault (line 34924) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function defineProperties (line 34944) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 34976) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 34978) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 34980) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 34982) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Docs (line 34987) | function Docs() {
  function _interopRequireDefault (line 35149) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function s (line 35247) | function s(i, l) {
  function r (line 37409) | function r(e, t) {
  function n (line 37437) | function n(e) {
  function s (line 37441) | function s(e) {
  function o (line 37445) | function o(e, t) {
  function i (line 37449) | function i(e) {
  function l (line 37461) | function l(e) {
  function a (line 37465) | function a(e) {
  function c (line 37469) | function c(e) {
  function u (line 37479) | function u(e, t) {
  function p (line 37484) | function p(e) {
  function h (line 37488) | function h(e) {
  function f (line 37492) | function f(e) {
  function r (line 37674) | function r(e, t, r) {
  function n (line 37678) | function n(e, t) {
  function r (line 37728) | function r() {
  function r (line 37789) | function r() {
  function r (line 37824) | function r(e) {
  function n (line 37829) | function n() {
  function r (line 37899) | function r(e, t) {
  function n (line 37903) | function n(e, t) {
  function s (line 37907) | function s() {
  function r (line 38075) | function r() {
  function r (line 38199) | function r(e, t) {
  function n (line 38205) | function n(e, t) {
  function r (line 38358) | function r(e) {
  function r (line 38418) | function r(e, t) {
  function n (line 38423) | function n(e, t) {
  function s (line 38438) | function s(e, t) {
  function r (line 38520) | function r(e, t, r, n, s) {
  function r (line 38560) | function r(e, t) {
  function r (line 38655) | function r(e, t, r, o) {
  function r (line 38682) | function r(e) {
  function r (line 38791) | function r(e) {
  function n (line 38795) | function n(e) {
  function s (line 38799) | function s() {
  function r (line 38872) | function r(e, t, r, a) {
  function r (line 38910) | function r(e) {
  function r (line 38934) | function r(e, t) {
  function n (line 38938) | function n(e, t, r) {
  function r (line 39061) | function r(e) {
  function n (line 39065) | function n(e, t) {
  function r (line 39212) | function r(e) {
  function r (line 39363) | function r(e, t, r, n, s) {
  function r (line 39432) | function r(e) {
  function escape (line 39879) | function escape(value) {
  function tag (line 39883) | function tag(node) {
  function testRe (line 39887) | function testRe(re, lexeme) {
  function isNotHighlighted (line 39892) | function isNotHighlighted(language) {
  function blockLanguage (line 39896) | function blockLanguage(block) {
  function inherit (line 39917) | function inherit(parent, obj) {
  function nodeStream (line 39929) | function nodeStream(node) {
  function mergeStreams (line 39959) | function mergeStreams(original, highlighted, value) {
  function compileLanguage (line 40034) | function compileLanguage(language) {
  function highlight (line 40136) | function highlight(name, value, ignore_illegals, continuation) {
  function highlightAuto (line 40353) | function highlightAuto(text, languageSubset) {
  function fixMarkup (line 40387) | function fixMarkup(value) {
  function buildClassName (line 40399) | function buildClassName(prevClassName, currentLang, resultLang) {
  function highlightBlock (line 40418) | function highlightBlock(block) {
  function configure (line 40465) | function configure(user_options) {
  function initHighlighting (line 40472) | function initHighlighting() {
  function initHighlightingOnLoad (line 40484) | function initHighlightingOnLoad() {
  function registerLanguage (line 40492) | function registerLanguage(name, language) {
  function listLanguages (line 40499) | function listLanguages() {
  function getLanguage (line 40503) | function getLanguage(name) {
  function defineProperties (line 40752) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 40762) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 40764) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 40766) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 40768) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function MarkdownTitle (line 40773) | function MarkdownTitle() {
  function defineProperties (line 40864) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 40882) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 40884) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 40886) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 40888) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Markdown (line 40893) | function Markdown() {
  function defineProperties (line 40968) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 40988) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 40990) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 40992) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 40994) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Code (line 40999) | function Code() {
  function defineProperties (line 41364) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 41384) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 41386) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 41388) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 41390) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function Sidebar (line 41395) | function Sidebar() {
  function defineProperties (line 41485) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 41497) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 41499) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 41501) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 41503) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function SidebarItem (line 41508) | function SidebarItem() {
  function _interopRequireDefault (line 41689) | function _interopRequireDefault(obj) {
  function defineProperties (line 41724) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 41732) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 41734) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 41736) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 41738) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function ButtonExample (line 41743) | function ButtonExample() {
  function defineProperties (line 41816) | function defineProperties(target, props) { for (var i = 0; i < props.len...
  function _interopRequireDefault (line 41828) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
  function _classCallCheck (line 41830) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
  function _possibleConstructorReturn (line 41832) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
  function _inherits (line 41834) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
  function SketchExample (line 41839) | function SketchExample() {

FILE: docs/components/home/Home.js
  class Home (line 9) | class Home extends React.Component {
    method render (line 16) | render() {

FILE: docs/components/home/HomeDocumentation.js
  class HomeDocumentation (line 13) | class HomeDocumentation extends React.Component {
    method render (line 15) | render() {

FILE: docs/components/home/HomeFeature.js
  class HomeFeature (line 13) | class HomeFeature extends React.Component {
    method constructor (line 15) | constructor() {
    method componentDidMount (line 28) | componentDidMount() {
    method handleChangeComplete (line 38) | handleChangeComplete(data) {
    method render (line 47) | render() {

FILE: examples/basic-toggle-open-closed/src/App.js
  class App (line 6) | class App extends React.Component {
    method render (line 11) | render() {

FILE: examples/with-portals/src/App.js
  class App (line 6) | class App extends React.Component {
    method render (line 19) | render() {

FILE: examples/with-redux/src/reducer.js
  constant CHANGE_COLOR (line 1) | const CHANGE_COLOR = 'APP/CHANGE_COLOR'

FILE: src/components/chrome/ChromeFields.js
  class ChromeFields (line 11) | class ChromeFields extends React.Component {
    method constructor (line 12) | constructor(props) {
    method getDerivedStateFromProps (line 26) | static getDerivedStateFromProps(nextProps, state) {
    method render (line 103) | render() {

FILE: src/components/common/Alpha.js
  class Alpha (line 7) | class Alpha extends (PureComponent || Component) {
    method componentWillUnmount (line 8) | componentWillUnmount() {
    method render (line 32) | render() {

FILE: src/components/common/ColorWrap.js
  class ColorPicker (line 6) | class ColorPicker extends (PureComponent || Component) {
    method constructor (line 7) | constructor(props) {
    method getDerivedStateFromProps (line 19) | static getDerivedStateFromProps(nextProps, state) {
    method render (line 43) | render() {

FILE: src/components/common/EditableInput.js
  constant DEFAULT_ARROW_OFFSET (line 4) | const DEFAULT_ARROW_OFFSET = 1
  constant UP_KEY_CODE (line 6) | const UP_KEY_CODE = 38
  constant DOWN_KEY_CODE (line 7) | const DOWN_KEY_CODE = 40
  constant VALID_KEY_CODES (line 8) | const VALID_KEY_CODES = [
  class EditableInput (line 17) | class EditableInput extends (PureComponent || Component) {
    method constructor (line 18) | constructor(props) {
    method componentDidUpdate (line 29) | componentDidUpdate(prevProps, prevState) {
    method componentWillUnmount (line 42) | componentWillUnmount() {
    method getValueObjectWithLabel (line 46) | getValueObjectWithLabel(value) {
    method getArrowOffset (line 62) | getArrowOffset() {
    method setUpdatedValue (line 79) | setUpdatedValue(value, e) {
    method render (line 113) | render() {

FILE: src/components/common/Hue.js
  class Hue (line 5) | class Hue extends (PureComponent || Component) {
    method componentWillUnmount (line 6) | componentWillUnmount() {
    method unbindEventListeners (line 25) | unbindEventListeners() {
    method render (line 30) | render() {

FILE: src/components/common/Saturation.js
  class Saturation (line 6) | class Saturation extends (PureComponent || Component) {
    method constructor (line 7) | constructor(props) {
    method componentWillUnmount (line 15) | componentWillUnmount() {
    method getContainerRenderWindow (line 20) | getContainerRenderWindow() {
    method unbindEventListeners (line 48) | unbindEventListeners() {
    method render (line 54) | render() {

FILE: src/components/common/Swatch.js
  constant ENTER (line 7) | const ENTER = 13

FILE: src/components/photoshop/Photoshop.js
  class Photoshop (line 13) | class Photoshop extends React.Component {
    method constructor (line 14) | constructor(props) {
    method render (line 22) | render() {

FILE: src/helpers/interaction.js
  method render (line 10) | render() {
Condensed preview — 197 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,240K chars).
[
  {
    "path": ".babelrc",
    "chars": 64,
    "preview": "{\n  \"presets\": [\n    \"es2015\",\n    \"stage-0\",\n    \"react\"\n  ]\n}\n"
  },
  {
    "path": ".github/CONTRIBUTING.md",
    "chars": 727,
    "preview": "# Contributing\n\nFork and then clone the repo\n\n    git clone git@github.com:your-username/react-color.git\n\nInstall all np"
  },
  {
    "path": ".gitignore",
    "chars": 72,
    "preview": "*.log\n*.DS_Store\nnode_modules\npackage-lock.json\n\nlib\nes\n.babelrc_backup\n"
  },
  {
    "path": ".storybook/SyncColorField.js",
    "chars": 432,
    "preview": "import React from 'react'\n\nexport default class SyncColorField extends React.Component {\n  constructor(props) {\n    supe"
  },
  {
    "path": ".storybook/addons.js",
    "chars": 84,
    "preview": "import '@storybook/addon-options/register'\nimport '@storybook/addon-knobs/register'\n"
  },
  {
    "path": ".storybook/config.js",
    "chars": 567,
    "preview": "import { configure, addDecorator } from '@storybook/react';\nimport { setOptions } from '@storybook/addon-options';\n\nimpo"
  },
  {
    "path": ".storybook/report.js",
    "chars": 3017,
    "preview": "import React from 'react'\nimport _ from 'lodash'\nimport PropTypes from 'prop-types'\nimport PROP_TYPE_SECRET from 'prop-t"
  },
  {
    "path": ".travis.yml",
    "chars": 137,
    "preview": "language: node_js\nnode_js:\n  - 6\nnotifications:\n  email:\n    on_success: never\nscript: npm test\ncache:\n  directories:\n  "
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 3218,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
  },
  {
    "path": "LICENSE",
    "chars": 1080,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2015 Case Sandberg\n\nPermission is hereby granted, free of charge, to any person obt"
  },
  {
    "path": "README.md",
    "chars": 1549,
    "preview": "# [React Color](http://casesandberg.github.io/react-color/)\n\n[![Npm Version][npm-version-image]][npm-version-url]\n[![Bui"
  },
  {
    "path": "docs/build/bundle.js",
    "chars": 1409977,
    "preview": "/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/*"
  },
  {
    "path": "docs/components/home/Home.js",
    "chars": 1051,
    "preview": "'use strict'\n\nimport React from 'react'\nimport reactCSS from 'reactcss'\n\nimport HomeFeature from './HomeFeature'\nimport "
  },
  {
    "path": "docs/components/home/HomeDocumentation.js",
    "chars": 2616,
    "preview": "'use strict' /* eslint import/no-unresolved: 0 */\n\nimport React from 'react'\nimport reactCSS from 'reactcss'\n\nimport { C"
  },
  {
    "path": "docs/components/home/HomeFeature.js",
    "chars": 10581,
    "preview": "'use strict' /* eslint import/no-unresolved: 0 */\n\nimport React from 'react'\nimport reactCSS from 'reactcss'\n\nimport { C"
  },
  {
    "path": "docs/documentation/01-about.md",
    "chars": 171,
    "preview": "---\nid: about\ntitle: About\n---\n\n**13 Different Pickers** - Sketch, Photoshop, Chrome and many more\n\n**Make Your Own** - "
  },
  {
    "path": "docs/documentation/02-getting-started.md",
    "chars": 51,
    "preview": "---\nid: getting-started\ntitle: Getting Started\n---\n"
  },
  {
    "path": "docs/documentation/02.01-install.md",
    "chars": 123,
    "preview": "---\nid: usage-install\ntitle: Install\n---\nStart by installing `react-color` via npm:\n```\nnpm install react-color --save\n`"
  },
  {
    "path": "docs/documentation/02.02-include.md",
    "chars": 740,
    "preview": "---\nid: usage-include\ntitle: Include Component\n---\nImport a color picker from `react-color` at the top of a component an"
  },
  {
    "path": "docs/documentation/03-api.md",
    "chars": 37,
    "preview": "---\nid: api\ntitle: Component API\n---\n"
  },
  {
    "path": "docs/documentation/03.01-color.md",
    "chars": 1038,
    "preview": "---\nid: api-color\ntitle: color\n---\nColor controls what color is active on the color picker. You can use this to initiali"
  },
  {
    "path": "docs/documentation/03.02-onChange.md",
    "chars": 824,
    "preview": "---\nid: api-onChange\ntitle: onChange\n---\nPass a function to call every time the color is changed. Use this to store the "
  },
  {
    "path": "docs/documentation/03.03-onChangeComplete.md",
    "chars": 477,
    "preview": "---\nid: api-onChangeComplete\ntitle: onChangeComplete\n---\nPass a function to call once a color change is complete.\n\n```\ni"
  },
  {
    "path": "docs/documentation/03.04-individual.md",
    "chars": 5124,
    "preview": "---\nid: api-individual\ntitle: Individual APIs\n---\nSome pickers have specific APIs that are unique to themselves:\n\n### <A"
  },
  {
    "path": "docs/documentation/03.05-customStyles.md",
    "chars": 496,
    "preview": "---\nid: api-customStyles\ntitle: Customizing Styles\n---\nPass a `styles` object to override the default inline styles.\n\n``"
  },
  {
    "path": "docs/documentation/04-create.md",
    "chars": 42,
    "preview": "---\nid: create\ntitle: Create Your Own\n---\n"
  },
  {
    "path": "docs/documentation/04.01-parent.md",
    "chars": 687,
    "preview": "---\nid: create-parent\ntitle: Parent Component\n---\nTo make a custom color picker, create a top-level component that will "
  },
  {
    "path": "docs/documentation/04.02-helpers.md",
    "chars": 3577,
    "preview": "---\nid: create-helpers\ntitle: Helper Components\n---\nEvery color picker provided is made up of a collection of helper com"
  },
  {
    "path": "docs/documentation/05-examples.md",
    "chars": 42,
    "preview": "---\nid: examples\ntitle: More Examples\n---\n"
  },
  {
    "path": "docs/documentation/index.js",
    "chars": 701,
    "preview": "/* eslint-disable global-require */\nmodule.exports = {\n  '01-about': require('./01-about.md'),\n  '02-getting-started': r"
  },
  {
    "path": "docs/index.html",
    "chars": 975,
    "preview": "<!DOCTYPE html>\n\n<meta charset=\"utf-8\">\n<meta name=\"HandheldFriendly\" content=\"True\">\n<meta name=\"MobileOptimized\" conte"
  },
  {
    "path": "docs/index.js",
    "chars": 415,
    "preview": "'use strict'\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\n// import ReactDOMServer from 'react-dom-server"
  },
  {
    "path": "examples/basic/.gitignore",
    "chars": 285,
    "preview": "# See https://help.github.com/ignore-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n\n# testing\n/cov"
  },
  {
    "path": "examples/basic/package.json",
    "chars": 274,
    "preview": "{\n  \"name\": \"react-color-example-basic\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"dependencies\": {\n    \"react\": \"^15."
  },
  {
    "path": "examples/basic/public/index.html",
    "chars": 323,
    "preview": "<!doctype html>\n\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css\" rel=\"stylesheet\" "
  },
  {
    "path": "examples/basic/src/App.js",
    "chars": 344,
    "preview": "/* eslint-disable no-console */\nimport React from 'react'\n\nimport { SketchPicker } from 'react-color'\n\nexport const App "
  },
  {
    "path": "examples/basic/src/index.js",
    "chars": 150,
    "preview": "import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport App from './App'\n\nReactDOM.render(\n  <App />,\n  docum"
  },
  {
    "path": "examples/basic-positioning/.gitignore",
    "chars": 285,
    "preview": "# See https://help.github.com/ignore-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n\n# testing\n/cov"
  },
  {
    "path": "examples/basic-positioning/package.json",
    "chars": 286,
    "preview": "{\n  \"name\": \"react-color-example-basic-positioning\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"dependencies\": {\n    \"r"
  },
  {
    "path": "examples/basic-positioning/public/index.html",
    "chars": 323,
    "preview": "<!doctype html>\n\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css\" rel=\"stylesheet\" "
  },
  {
    "path": "examples/basic-positioning/src/App.js",
    "chars": 638,
    "preview": "/* eslint-disable no-console */\nimport React from 'react'\n\nimport { BlockPicker } from 'react-color'\n\nexport const App ="
  },
  {
    "path": "examples/basic-positioning/src/index.js",
    "chars": 150,
    "preview": "import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport App from './App'\n\nReactDOM.render(\n  <App />,\n  docum"
  },
  {
    "path": "examples/basic-toggle-open-closed/.gitignore",
    "chars": 285,
    "preview": "# See https://help.github.com/ignore-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n\n# testing\n/cov"
  },
  {
    "path": "examples/basic-toggle-open-closed/package.json",
    "chars": 293,
    "preview": "{\n  \"name\": \"react-color-example-basic-toggle-open-closed\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"dependencies\": {"
  },
  {
    "path": "examples/basic-toggle-open-closed/public/index.html",
    "chars": 323,
    "preview": "<!doctype html>\n\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css\" rel=\"stylesheet\" "
  },
  {
    "path": "examples/basic-toggle-open-closed/src/App.js",
    "chars": 747,
    "preview": "/* eslint-disable no-console */\nimport React from 'react'\n\nimport { CompactPicker } from 'react-color'\n\nclass App extend"
  },
  {
    "path": "examples/basic-toggle-open-closed/src/index.js",
    "chars": 150,
    "preview": "import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport App from './App'\n\nReactDOM.render(\n  <App />,\n  docum"
  },
  {
    "path": "examples/basic-with-react-hooks/.gitignore",
    "chars": 310,
    "preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pn"
  },
  {
    "path": "examples/basic-with-react-hooks/package.json",
    "chars": 683,
    "preview": "{\n  \"name\": \"basic-with-react-hooks\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"dependencies\": {\n    \"@testing-library"
  },
  {
    "path": "examples/basic-with-react-hooks/public/index.html",
    "chars": 1721,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <link rel=\"icon\" href=\"%PUBLIC_URL%/favicon.i"
  },
  {
    "path": "examples/basic-with-react-hooks/src/App.js",
    "chars": 341,
    "preview": "import React, { useState } from \"react\";\nimport { SketchPicker } from \"react-color\";\n\nconst App = () => {\n  const [color"
  },
  {
    "path": "examples/basic-with-react-hooks/src/index.js",
    "chars": 147,
    "preview": "import React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport App from \"./App\";\n\nReactDOM.render(<App />, documen"
  },
  {
    "path": "examples/custom-picker/.gitignore",
    "chars": 285,
    "preview": "# See https://help.github.com/ignore-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n\n# testing\n/cov"
  },
  {
    "path": "examples/custom-picker/package.json",
    "chars": 282,
    "preview": "{\n  \"name\": \"react-color-example-custom-picker\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"dependencies\": {\n    \"react"
  },
  {
    "path": "examples/custom-picker/public/index.html",
    "chars": 323,
    "preview": "<!doctype html>\n\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css\" rel=\"stylesheet\" "
  },
  {
    "path": "examples/custom-picker/src/App.js",
    "chars": 333,
    "preview": "/* eslint-disable no-console */\nimport React from 'react'\n\nimport MyPicker from './MyPicker'\n\nexport const App = () => {"
  },
  {
    "path": "examples/custom-picker/src/MyPicker.js",
    "chars": 882,
    "preview": "import React from 'react'\n\nimport { CustomPicker } from 'react-color'\nimport { EditableInput, Hue } from 'react-color/li"
  },
  {
    "path": "examples/custom-picker/src/index.js",
    "chars": 150,
    "preview": "import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport App from './App'\n\nReactDOM.render(\n  <App />,\n  docum"
  },
  {
    "path": "examples/custom-pointer/.gitignore",
    "chars": 285,
    "preview": "# See https://help.github.com/ignore-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n\n# testing\n/cov"
  },
  {
    "path": "examples/custom-pointer/package.json",
    "chars": 283,
    "preview": "{\n  \"name\": \"react-color-example-custom-pointer\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"dependencies\": {\n    \"reac"
  },
  {
    "path": "examples/custom-pointer/public/index.html",
    "chars": 323,
    "preview": "<!doctype html>\n\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css\" rel=\"stylesheet\" "
  },
  {
    "path": "examples/custom-pointer/src/App.js",
    "chars": 332,
    "preview": "/* eslint-disable no-console */\nimport React from 'react'\n\nimport MyPicker from './MyPicker'\n\nexport const App = () => {"
  },
  {
    "path": "examples/custom-pointer/src/MyPicker.js",
    "chars": 507,
    "preview": "/* eslint-disable no-console */\nimport React from 'react'\n\nimport { CustomPicker } from 'react-color'\nimport { Alpha } f"
  },
  {
    "path": "examples/custom-pointer/src/MyPointer.js",
    "chars": 255,
    "preview": "import React from 'react'\n\nexport const MyPointer = () => {\n  return (\n    <div\n      style={{\n        transform: 'trans"
  },
  {
    "path": "examples/custom-pointer/src/index.js",
    "chars": 150,
    "preview": "import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport App from './App'\n\nReactDOM.render(\n  <App />,\n  docum"
  },
  {
    "path": "examples/with-portals/.gitignore",
    "chars": 310,
    "preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pn"
  },
  {
    "path": "examples/with-portals/package.json",
    "chars": 448,
    "preview": "{\n  \"dependencies\": {\n    \"react\": \"^16.8.6\",\n    \"react-color\": \"latest\",\n    \"react-dom\": \"^16.8.6\",\n    \"react-script"
  },
  {
    "path": "examples/with-portals/public/index.html",
    "chars": 352,
    "preview": "<!doctype html>\n\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css\" rel=\"stylesheet\" "
  },
  {
    "path": "examples/with-portals/src/App.js",
    "chars": 719,
    "preview": "/* eslint-disable no-console */\nimport React from 'react'\n\nimport Portal from './Portal'\n\nexport class App extends React"
  },
  {
    "path": "examples/with-portals/src/Modal.js",
    "chars": 599,
    "preview": "import React from 'react'\n\nexport const Modal = ({ children, onClose }) => (\n  <div\n    style={{\n      position: 'absolu"
  },
  {
    "path": "examples/with-portals/src/Portal.js",
    "chars": 460,
    "preview": "import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport { SketchPicker } from 'react-color'\nimport Modal from"
  },
  {
    "path": "examples/with-portals/src/index.js",
    "chars": 149,
    "preview": "import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport App from './App'\n\nReactDOM.render(\n  <App />,\n  docum"
  },
  {
    "path": "examples/with-redux/.gitignore",
    "chars": 285,
    "preview": "# See https://help.github.com/ignore-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n\n# testing\n/cov"
  },
  {
    "path": "examples/with-redux/package.json",
    "chars": 326,
    "preview": "{\n  \"name\": \"react-color-example-basic\",\n  \"version\": \"0.1.0\",\n  \"private\": true,\n  \"dependencies\": {\n    \"react\": \"^15."
  },
  {
    "path": "examples/with-redux/public/index.html",
    "chars": 323,
    "preview": "<!doctype html>\n\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css\" rel=\"stylesheet\" "
  },
  {
    "path": "examples/with-redux/src/App.js",
    "chars": 577,
    "preview": "/* eslint-disable no-console */\nimport React from 'react'\nimport { connect } from 'react-redux'\nimport { actions as appA"
  },
  {
    "path": "examples/with-redux/src/index.js",
    "chars": 324,
    "preview": "import React from 'react'\nimport ReactDOM from 'react-dom'\nimport { createStore } from 'redux'\nimport { reducer as app }"
  },
  {
    "path": "examples/with-redux/src/reducer.js",
    "chars": 365,
    "preview": "export const CHANGE_COLOR = 'APP/CHANGE_COLOR'\n\nexport const actions = {\n  changeColor: ({ hex }) => ({ type: CHANGE_COL"
  },
  {
    "path": "package.json",
    "chars": 3545,
    "preview": "{\n  \"name\": \"react-color\",\n  \"version\": \"2.19.3\",\n  \"description\": \"A Collection of Color Pickers from Sketch, Photoshop"
  },
  {
    "path": "scripts/docs-dist.js",
    "chars": 399,
    "preview": "'use strict'\n\nvar webpack = require('webpack')\nvar webpackConfig = require('../webpack.config.js')\n\nlet build = Object.c"
  },
  {
    "path": "scripts/docs-server.js",
    "chars": 865,
    "preview": "'use strict'\n\nvar webpack = require('webpack')\nvar WebpackDevServer = require('webpack-dev-server')\nvar webpackConfig = "
  },
  {
    "path": "scripts/restore-original-babelrc.js",
    "chars": 230,
    "preview": "const fs = require('fs')\nconst path = require('path')\n\nconst babelRCBackup = fs\n  .readFileSync(path.join(__dirname, '.."
  },
  {
    "path": "scripts/use-module-babelrc.js",
    "chars": 562,
    "preview": "const fs = require('fs')\nconst path = require('path')\n\nconst originalBabelRC = fs\n  .readFileSync(path.join(__dirname, '"
  },
  {
    "path": "src/Alpha.js",
    "chars": 47,
    "preview": "export default from './components/alpha/Alpha'\n"
  },
  {
    "path": "src/Block.js",
    "chars": 47,
    "preview": "export default from './components/block/Block'\n"
  },
  {
    "path": "src/Chrome.js",
    "chars": 49,
    "preview": "export default from './components/chrome/Chrome'\n"
  },
  {
    "path": "src/Circle.js",
    "chars": 49,
    "preview": "export default from './components/circle/Circle'\n"
  },
  {
    "path": "src/Compact.js",
    "chars": 51,
    "preview": "export default from './components/compact/Compact'\n"
  },
  {
    "path": "src/Custom.js",
    "chars": 52,
    "preview": "export default from './components/common/ColorWrap'\n"
  },
  {
    "path": "src/Github.js",
    "chars": 49,
    "preview": "export default from './components/github/Github'\n"
  },
  {
    "path": "src/Google.js",
    "chars": 49,
    "preview": "export default from './components/google/Google'\n"
  },
  {
    "path": "src/Hue.js",
    "chars": 43,
    "preview": "export default from './components/hue/Hue'\n"
  },
  {
    "path": "src/Material.js",
    "chars": 53,
    "preview": "export default from './components/material/Material'\n"
  },
  {
    "path": "src/Photoshop.js",
    "chars": 55,
    "preview": "export default from './components/photoshop/Photoshop'\n"
  },
  {
    "path": "src/Sketch.js",
    "chars": 49,
    "preview": "export default from './components/sketch/Sketch'\n"
  },
  {
    "path": "src/Slider.js",
    "chars": 49,
    "preview": "export default from './components/slider/Slider'\n"
  },
  {
    "path": "src/Swatches.js",
    "chars": 53,
    "preview": "export default from './components/swatches/Swatches'\n"
  },
  {
    "path": "src/Twitter.js",
    "chars": 51,
    "preview": "export default from './components/twitter/Twitter'\n"
  },
  {
    "path": "src/components/alpha/Alpha.js",
    "chars": 958,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nimport { ColorWrap, Alpha } from '../common'\nimport AlphaPoin"
  },
  {
    "path": "src/components/alpha/AlphaPointer.js",
    "chars": 628,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const AlphaPointer = ({ direction }) => {\n  const styl"
  },
  {
    "path": "src/components/alpha/__snapshots__/spec.js.snap",
    "chars": 8385,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Alpha renders correctly 1`] = `\n<div\n  className=\"alpha-picker \"\n  "
  },
  {
    "path": "src/components/alpha/spec.js",
    "chars": 1530,
    "preview": "/* global test, expect, jest */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { mount } f"
  },
  {
    "path": "src/components/block/Block.js",
    "chars": 3057,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport merge from 'lodash/m"
  },
  {
    "path": "src/components/block/BlockSwatches.js",
    "chars": 956,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport map from 'lodash/map'\n\nimport { Swatch } from '../commo"
  },
  {
    "path": "src/components/block/__snapshots__/spec.js.snap",
    "chars": 22812,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Block \\`triangle=\"hide\"\\` 1`] = `\n<div\n  className=\"block-picker \"\n"
  },
  {
    "path": "src/components/block/spec.js",
    "chars": 1782,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { mount } f"
  },
  {
    "path": "src/components/block/story.js",
    "chars": 468,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/chrome/Chrome.js",
    "chars": 4071,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport merge from 'lodash/m"
  },
  {
    "path": "src/components/chrome/ChromeFields.js",
    "chars": 7952,
    "preview": "/* eslint-disable react/no-did-mount-set-state, no-param-reassign */\n\nimport React from 'react'\nimport reactCSS from 're"
  },
  {
    "path": "src/components/chrome/ChromePointer.js",
    "chars": 483,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const ChromePointer = () => {\n  const styles = reactCS"
  },
  {
    "path": "src/components/chrome/ChromePointerCircle.js",
    "chars": 437,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const ChromePointerCircle = () => {\n  const styles = r"
  },
  {
    "path": "src/components/chrome/__snapshots__/spec.js.snap",
    "chars": 24596,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Chrome renders correctly 1`] = `\n<div\n  className=\"chrome-picker \"\n"
  },
  {
    "path": "src/components/chrome/spec.js",
    "chars": 2225,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport * as color "
  },
  {
    "path": "src/components/chrome/story.js",
    "chars": 401,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/circle/Circle.js",
    "chars": 1956,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport map from 'lodash/map"
  },
  {
    "path": "src/components/circle/CircleSwatch.js",
    "chars": 1318,
    "preview": "import React from 'react'\nimport reactCSS, { handleHover } from 'reactcss'\n\nimport { Swatch } from '../common'\n\nexport c"
  },
  {
    "path": "src/components/circle/__snapshots__/spec.js.snap",
    "chars": 39483,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Circle renders correctly 1`] = `\n<div\n  className=\"circle-picker \"\n"
  },
  {
    "path": "src/components/circle/spec.js",
    "chars": 1806,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { mount } f"
  },
  {
    "path": "src/components/circle/story.js",
    "chars": 602,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/common/Alpha.js",
    "chars": 3279,
    "preview": "import React, { Component, PureComponent } from 'react'\nimport reactCSS from 'reactcss'\nimport * as alpha from '../../he"
  },
  {
    "path": "src/components/common/Checkboard.js",
    "chars": 793,
    "preview": "import React, { isValidElement } from 'react'\nimport reactCSS from 'reactcss'\nimport * as checkboard from '../../helpers"
  },
  {
    "path": "src/components/common/ColorWrap.js",
    "chars": 1890,
    "preview": "import React, { Component, PureComponent } from 'react'\nimport debounce from 'lodash/debounce'\nimport * as color from '."
  },
  {
    "path": "src/components/common/EditableInput.js",
    "chars": 4445,
    "preview": "import React, { Component, PureComponent } from 'react'\nimport reactCSS from 'reactcss'\n\nconst DEFAULT_ARROW_OFFSET = 1\n"
  },
  {
    "path": "src/components/common/Hue.js",
    "chars": 3201,
    "preview": "import React, { Component, PureComponent } from 'react'\nimport reactCSS from 'reactcss'\nimport * as hue from '../../help"
  },
  {
    "path": "src/components/common/Raised.js",
    "chars": 1929,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport merge from 'lodash/m"
  },
  {
    "path": "src/components/common/Saturation.js",
    "chars": 3799,
    "preview": "import React, { Component, PureComponent } from 'react'\nimport reactCSS from 'reactcss'\nimport throttle from 'lodash/thr"
  },
  {
    "path": "src/components/common/Swatch.js",
    "chars": 1330,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport { handleFocus } from '../../helpers/interaction'\n\nimpor"
  },
  {
    "path": "src/components/common/__snapshots__/spec.js.snap",
    "chars": 12676,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Alpha renders correctly 1`] = `\n<div\n  style={\n    Object {\n      \""
  },
  {
    "path": "src/components/common/index.js",
    "chars": 388,
    "preview": "export { default as Alpha } from './Alpha'\nexport { default as Checkboard } from './Checkboard'\nexport { default as Edit"
  },
  {
    "path": "src/components/common/spec.js",
    "chars": 2316,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { red } fro"
  },
  {
    "path": "src/components/compact/Compact.js",
    "chars": 2224,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport map from 'lodash/map"
  },
  {
    "path": "src/components/compact/CompactColor.js",
    "chars": 1354,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport * as colorUtils from '../../helpers/color'\n\nimport { Sw"
  },
  {
    "path": "src/components/compact/CompactFields.js",
    "chars": 2684,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nimport { EditableInput } from '../common'\n\nexport const Compa"
  },
  {
    "path": "src/components/compact/__snapshots__/spec.js.snap",
    "chars": 112250,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Compact renders correctly 1`] = `\n<div\n  style={\n    Object {\n     "
  },
  {
    "path": "src/components/compact/spec.js",
    "chars": 2113,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { mount } f"
  },
  {
    "path": "src/components/compact/story.js",
    "chars": 607,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/github/Github.js",
    "chars": 3327,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport map from 'lodash/map"
  },
  {
    "path": "src/components/github/GithubSwatch.js",
    "chars": 799,
    "preview": "import React from 'react'\nimport reactCSS, { handleHover } from 'reactcss'\n\nimport { Swatch } from '../common'\n\nexport c"
  },
  {
    "path": "src/components/github/__snapshots__/spec.js.snap",
    "chars": 39628,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Github \\`triangle=\"hide\"\\` 1`] = `\n<div\n  className=\"github-picker "
  },
  {
    "path": "src/components/github/spec.js",
    "chars": 2018,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { mount } f"
  },
  {
    "path": "src/components/github/story.js",
    "chars": 473,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/google/Google.js",
    "chars": 3014,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport merge from 'lodash/m"
  },
  {
    "path": "src/components/google/GoogleFields.js",
    "chars": 5172,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport * as color from '../../helpers/color'\nimport { Editable"
  },
  {
    "path": "src/components/google/GooglePointer.js",
    "chars": 768,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport PropTypes from 'prop-types'\n\nexport const GooglePointer"
  },
  {
    "path": "src/components/google/GooglePointerCircle.js",
    "chars": 855,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport PropTypes from 'prop-types'\n\nexport const GooglePointer"
  },
  {
    "path": "src/components/google/__snapshots__/spec.js.snap",
    "chars": 26345,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Google renders correctly 1`] = `\n<div\n  className=\"google-picker \"\n"
  },
  {
    "path": "src/components/google/spec.js",
    "chars": 1822,
    "preview": "import React from 'react'\nimport renderer from 'react-test-renderer'\nimport * as color from '../../helpers/color'\nimport"
  },
  {
    "path": "src/components/google/story.js",
    "chars": 400,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/hue/Hue.js",
    "chars": 1151,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport merge from 'lodash/m"
  },
  {
    "path": "src/components/hue/HuePointer.js",
    "chars": 630,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const SliderPointer = ({ direction }) => {\n  const sty"
  },
  {
    "path": "src/components/hue/__snapshots__/spec.js.snap",
    "chars": 7260,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Hue renders correctly 1`] = `\n<div\n  className=\"hue-picker \"\n  styl"
  },
  {
    "path": "src/components/hue/spec.js",
    "chars": 933,
    "preview": "/* global test, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { red } from '../"
  },
  {
    "path": "src/components/material/Material.js",
    "chars": 3438,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport merge from 'lodash/merge'\nimport * as color from '../.."
  },
  {
    "path": "src/components/material/__snapshots__/spec.js.snap",
    "chars": 7517,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Material renders correctly 1`] = `\n<div\n  style={\n    Object {\n    "
  },
  {
    "path": "src/components/material/spec.js",
    "chars": 589,
    "preview": "/* global test, test, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { red } fro"
  },
  {
    "path": "src/components/material/story.js",
    "chars": 401,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/photoshop/Photoshop.js",
    "chars": 4048,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport merge from 'lodash/m"
  },
  {
    "path": "src/components/photoshop/PhotoshopButton.js",
    "chars": 831,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const PhotoshopButton = ({ onClick, label, children, a"
  },
  {
    "path": "src/components/photoshop/PhotoshopFields.js",
    "chars": 4216,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport * as color from '../../helpers/color'\n\nimport { Editabl"
  },
  {
    "path": "src/components/photoshop/PhotoshopPointer.js",
    "chars": 1346,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const PhotoshopPointerCircle = () => {\n  const styles "
  },
  {
    "path": "src/components/photoshop/PhotoshopPointerCircle.js",
    "chars": 582,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const PhotoshopPointerCircle = ({ hsl }) => {\n  const "
  },
  {
    "path": "src/components/photoshop/PhotoshopPreviews.js",
    "chars": 1093,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const PhotoshopPreviews = ({ rgb, currentColor }) => {"
  },
  {
    "path": "src/components/photoshop/__snapshots__/spec.js.snap",
    "chars": 46365,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Photoshop renders correctly 1`] = `\n<div\n  className=\"photoshop-pic"
  },
  {
    "path": "src/components/photoshop/spec.js",
    "chars": 1797,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { red } fro"
  },
  {
    "path": "src/components/photoshop/story.js",
    "chars": 406,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/sketch/Sketch.js",
    "chars": 4063,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport merge from 'lodash/m"
  },
  {
    "path": "src/components/sketch/SketchFields.js",
    "chars": 3217,
    "preview": "/* eslint-disable no-param-reassign */\n\nimport React from 'react'\nimport reactCSS from 'reactcss'\nimport * as color from"
  },
  {
    "path": "src/components/sketch/SketchPresetColors.js",
    "chars": 1891,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\n\nimport { Swatch } from '.."
  },
  {
    "path": "src/components/sketch/__snapshots__/spec.js.snap",
    "chars": 57158,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Sketch renders correctly 1`] = `\n<div\n  className=\"sketch-picker \"\n"
  },
  {
    "path": "src/components/sketch/spec.js",
    "chars": 2507,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { mount } f"
  },
  {
    "path": "src/components/sketch/story.js",
    "chars": 841,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/slider/Slider.js",
    "chars": 1121,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport merge from 'lodash/m"
  },
  {
    "path": "src/components/slider/SliderPointer.js",
    "chars": 483,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const SliderPointer = () => {\n  const styles = reactCS"
  },
  {
    "path": "src/components/slider/SliderSwatch.js",
    "chars": 872,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nexport const SliderSwatch = ({ hsl, offset, onClick = () => {"
  },
  {
    "path": "src/components/slider/SliderSwatches.js",
    "chars": 1982,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\n\nimport SliderSwatch from './SliderSwatch'\n\nexport const Slide"
  },
  {
    "path": "src/components/slider/__snapshots__/spec.js.snap",
    "chars": 10343,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Slider renders correctly 1`] = `\n<div\n  className=\"slider-picker \"\n"
  },
  {
    "path": "src/components/slider/spec.js",
    "chars": 1157,
    "preview": "/* global test, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { red } from '../"
  },
  {
    "path": "src/components/swatches/Swatches.js",
    "chars": 4134,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport map from 'lodash/map"
  },
  {
    "path": "src/components/swatches/SwatchesColor.js",
    "chars": 1593,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport * as colorUtils from '../../helpers/color'\n\nimport { Sw"
  },
  {
    "path": "src/components/swatches/SwatchesGroup.js",
    "chars": 814,
    "preview": "import React from 'react'\nimport reactCSS from 'reactcss'\nimport map from 'lodash/map'\n\nimport SwatchesColor from './Swa"
  },
  {
    "path": "src/components/swatches/__snapshots__/spec.js.snap",
    "chars": 9208,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Swatches renders correctly 1`] = `\n<div\n  className=\"swatches-picke"
  },
  {
    "path": "src/components/swatches/spec.js",
    "chars": 2164,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { mount } f"
  },
  {
    "path": "src/components/swatches/story.js",
    "chars": 545,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/components/twitter/Twitter.js",
    "chars": 4294,
    "preview": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport reactCSS from 'reactcss'\nimport map from 'lodash/map"
  },
  {
    "path": "src/components/twitter/__snapshots__/spec.js.snap",
    "chars": 31194,
    "preview": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`Twitter \\`triangle=\"hide\"\\` 1`] = `\n<div\n  className=\"twitter-picke"
  },
  {
    "path": "src/components/twitter/spec.js",
    "chars": 1861,
    "preview": "/* global test, jest, expect */\n\nimport React from 'react'\nimport renderer from 'react-test-renderer'\nimport { mount } f"
  },
  {
    "path": "src/components/twitter/story.js",
    "chars": 478,
    "preview": "import React from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { renderWithKnobs } from '../../../.storyb"
  },
  {
    "path": "src/helpers/alpha.js",
    "chars": 1167,
    "preview": "export const calculateChange = (e, hsl, direction, initialA, container) => {\n  const containerWidth = container.clientWi"
  },
  {
    "path": "src/helpers/checkboard.js",
    "chars": 946,
    "preview": "const checkboardCache = {}\n\nexport const render = (c1, c2, size, serverCanvas) => {\n  if (typeof document === 'undefined"
  },
  {
    "path": "src/helpers/color.js",
    "chars": 1978,
    "preview": "import each from 'lodash/each'\nimport tinycolor from 'tinycolor2'\n\nexport const simpleCheckForValidColor = (data) => {\n "
  },
  {
    "path": "src/helpers/hue.js",
    "chars": 1223,
    "preview": "export const calculateChange = (e, direction, hsl, container) => {\n  const containerWidth = container.clientWidth\n  cons"
  },
  {
    "path": "src/helpers/index.js",
    "chars": 53,
    "preview": "export * from './checkboard'\nexport * from './color'\n"
  },
  {
    "path": "src/helpers/interaction.js",
    "chars": 496,
    "preview": "/* eslint-disable no-invalid-this */\nimport React from 'react'\n\nexport const handleFocus = (Component, Span = 'span') =>"
  },
  {
    "path": "src/helpers/saturation.js",
    "chars": 835,
    "preview": "export const calculateChange = (e, hsl, container) => {\n  const { width: containerWidth, height: containerHeight } = con"
  },
  {
    "path": "src/helpers/spec.js",
    "chars": 6622,
    "preview": "/* global test, expect, describe */\n\nimport * as color from './color'\n\ndescribe('helpers/color', () => {\n  describe('sim"
  },
  {
    "path": "src/index.js",
    "chars": 1523,
    "preview": "export { default as AlphaPicker } from './components/alpha/Alpha'\nexport { default as BlockPicker } from './components/b"
  },
  {
    "path": "webpack.config.js",
    "chars": 971,
    "preview": "const path = require('path')\nconst webpack = require('webpack')\n\nmodule.exports = {\n  entry: ['./docs/index.js'],\n  outp"
  }
]

About this extraction

This page contains the full source code of the casesandberg/react-color GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 197 files (2.0 MB), approximately 530.5k tokens, and a symbol index with 849 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!